diff options
Diffstat (limited to 'core/src/Model/Workflow/Values/BasicValues.hpp')
-rw-r--r-- | core/src/Model/Workflow/Values/BasicValues.hpp | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/core/src/Model/Workflow/Values/BasicValues.hpp b/core/src/Model/Workflow/Values/BasicValues.hpp new file mode 100644 index 0000000..a116c8c --- /dev/null +++ b/core/src/Model/Workflow/Values/BasicValues.hpp @@ -0,0 +1,46 @@ +#pragma once + +#include "Model/Workflow/Value.hpp" + +#include <chrono> +#include <cstdint> +#include <string> + +class NumericValue : public BaseValue { +private: + double mValue; + +public: + static bool IsInstance(const BaseValue* value); + NumericValue(); + + std::string GetString() const; + int64_t GetInt() const; + double GetValue() const; + void SetValue(double value); +}; + +class TextValue : public BaseValue { +private: + std::string mValue; + +public: + static bool IsInstance(const BaseValue* value); + TextValue(); + + const std::string& GetValue() const; + void SetValue(const std::string& value); +}; + +class DateTimeValue : public BaseValue { +private: + std::chrono::time_point<std::chrono::system_clock> mValue; + +public: + static bool IsInstance(const BaseValue* value); + DateTimeValue(); + + std::string GetString() const; + const std::chrono::time_point<std::chrono::system_clock>& GetValue() const; + void SetValue(const std::chrono::time_point<std::chrono::system_clock>& value); +}; |