diff options
| author | Amlal <amlal@zka.com> | 2024-09-20 15:50:58 +0200 |
|---|---|---|
| committer | Amlal <amlal@zka.com> | 2024-09-20 15:50:58 +0200 |
| commit | e59596db6f3e92098fdc0c3715f0a41cd10a0333 (patch) | |
| tree | d2d126ce86f452add889df780897a2242de73e0e /inc | |
| parent | 602a5b177636ed55e950b239eedfc0d3217b97e1 (diff) | |
Add new contract for buildable manifests.
Signed-off-by: Amlal <amlal@zka.com>
Diffstat (limited to 'inc')
| -rw-r--r-- | inc/IManifestBuilder.hxx | 19 | ||||
| -rw-r--r-- | inc/JSONManifestBuilder.hxx | 22 | ||||
| -rw-r--r-- | inc/manifest_builder.hxx | 22 |
3 files changed, 41 insertions, 22 deletions
diff --git a/inc/IManifestBuilder.hxx b/inc/IManifestBuilder.hxx new file mode 100644 index 0000000..404f8b2 --- /dev/null +++ b/inc/IManifestBuilder.hxx @@ -0,0 +1,19 @@ +#pragma once + +/// @brief Builder interface +class IManifestBuilder +{ +public: + explicit IManifestBuilder() = default; + virtual ~IManifestBuilder() = default; + + IManifestBuilder& operator=(const IManifestBuilder&) = default; + IManifestBuilder(const IManifestBuilder&) = default; + + /// @brief Builds a target. + /// @param arg_sz filename size + /// @param arg_val filename path. + /// @retval true succeeded. + /// @retval false failed. + virtual bool Build(int arg_sz, const char* arg_val) = 0; +}; diff --git a/inc/JSONManifestBuilder.hxx b/inc/JSONManifestBuilder.hxx new file mode 100644 index 0000000..5e29a96 --- /dev/null +++ b/inc/JSONManifestBuilder.hxx @@ -0,0 +1,22 @@ +#pragma once + +#include <IManifestBuilder.hxx> + +/// @brief JSON builder +class JSONManifestBuilder final : public IManifestBuilder +{ +public: + explicit JSONManifestBuilder() = default; + virtual ~JSONManifestBuilder() override = default; + + JSONManifestBuilder& operator=(const JSONManifestBuilder&) = default; + JSONManifestBuilder(const JSONManifestBuilder&) = default; + +public: + /// @brief Builds a JSON target. + /// @param arg_sz filename size + /// @param arg_val filename path. + /// @retval true succeeded. + /// @retval false failed. + virtual bool Build(int arg_sz, const char* arg_val) override; +}; diff --git a/inc/manifest_builder.hxx b/inc/manifest_builder.hxx deleted file mode 100644 index 5d882ff..0000000 --- a/inc/manifest_builder.hxx +++ /dev/null @@ -1,22 +0,0 @@ -#pragma once - -class ManifestBuilder; - -/// @brief JSON builder -class ManifestBuilder final -{ -public: - explicit ManifestBuilder() = default; - ~ManifestBuilder() = default; - - ManifestBuilder& operator=(const ManifestBuilder&) = default; - ManifestBuilder(const ManifestBuilder&) = default; - -public: - /// @brief Builds a JSON target. - /// @param arg_sz filename size - /// @param arg_val filename path. - /// @retval true succeeded. - /// @retval false failed. - bool buildJson(int arg_sz, const char* arg_val); -}; |
