aboutsummaryrefslogtreecommitdiff
path: root/core/src/Model/Workflow/Value_RTTI.cpp
diff options
context:
space:
mode:
authorrtk0c <[email protected]>2021-04-26 14:07:28 -0700
committerrtk0c <[email protected]>2021-04-26 14:07:28 -0700
commitb7d5b514e7bffd3149a99bc7f1424f8251876d85 (patch)
tree42f2867875c0b367fab2a6db7be395f8c777eb41 /core/src/Model/Workflow/Value_RTTI.cpp
parente7afe82857ac3ccc3e10b40cee60ea94cc59232b (diff)
Serialization for workflow stuff
Diffstat (limited to 'core/src/Model/Workflow/Value_RTTI.cpp')
-rw-r--r--core/src/Model/Workflow/Value_RTTI.cpp22
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;
+ }
+}