diff options
author | rtk0c <[email protected]> | 2021-04-26 14:07:28 -0700 |
---|---|---|
committer | rtk0c <[email protected]> | 2021-04-26 14:07:28 -0700 |
commit | b7d5b514e7bffd3149a99bc7f1424f8251876d85 (patch) | |
tree | 42f2867875c0b367fab2a6db7be395f8c777eb41 /core/src/Model/Workflow/Value_RTTI.cpp | |
parent | e7afe82857ac3ccc3e10b40cee60ea94cc59232b (diff) |
Serialization for workflow stuff
Diffstat (limited to 'core/src/Model/Workflow/Value_RTTI.cpp')
-rw-r--r-- | core/src/Model/Workflow/Value_RTTI.cpp | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/core/src/Model/Workflow/Value_RTTI.cpp b/core/src/Model/Workflow/Value_RTTI.cpp new file mode 100644 index 0000000..f2c8f92 --- /dev/null +++ b/core/src/Model/Workflow/Value_RTTI.cpp @@ -0,0 +1,22 @@ +#include "Value.hpp" + +#include "Model/Workflow/Values/BasicValues.hpp" +#include "Utils/Macros.hpp" + +const char* BaseValue::FormatKind(Kind kind) { + switch (kind) { + case KD_Numeric: return "Numeric"; + case KD_Text: return "Text"; + case KD_DateTime: return "Date/time"; + case InvalidKind: UNREACHABLE; + } +} + +std::unique_ptr<BaseValue> BaseValue::CreateByKind(BaseValue::Kind kind) { + switch (kind) { + case KD_Numeric: return std::make_unique<NumericValue>(); + case KD_Text: return std::make_unique<TextValue>(); + case KD_DateTime: return std::make_unique<DateTimeValue>(); + case InvalidKind: return nullptr; + } +} |