aboutsummaryrefslogtreecommitdiff
path: root/core/src/Model/Workflow/Evaluation.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'core/src/Model/Workflow/Evaluation.hpp')
-rw-r--r--core/src/Model/Workflow/Evaluation.hpp67
1 files changed, 0 insertions, 67 deletions
diff --git a/core/src/Model/Workflow/Evaluation.hpp b/core/src/Model/Workflow/Evaluation.hpp
deleted file mode 100644
index 4d78872..0000000
--- a/core/src/Model/Workflow/Evaluation.hpp
+++ /dev/null
@@ -1,67 +0,0 @@
-#pragma once
-
-#include "Model/Workflow/Workflow.hpp"
-
-#include <cstddef>
-#include <cstdint>
-#include <string>
-#include <vector>
-
-class WorkflowEvaluationError
-{
-public:
- enum MessageType : int16_t
- {
- Error,
- Warning,
- };
-
- enum PinType : int16_t
- {
- NoPin,
- InputPin,
- OutputPin,
- };
-
-public:
- std::string Message;
- size_t NodeId;
- int PinId;
- PinType PinType;
- MessageType Type;
-
-public:
- static const char* FormatMessageType(enum MessageType messageType);
- static const char* FormatPinType(enum PinType pinType);
-
- std::string Format() const;
-};
-
-class WorkflowEvaluationContext
-{
-private:
- struct RuntimeNode;
- struct RuntimeConnection;
-
- Workflow* mWorkflow;
- std::vector<RuntimeNode> mRuntimeNodes;
- std::vector<RuntimeConnection> mRuntimeConnections;
- std::vector<WorkflowEvaluationError> mErrors;
- std::vector<WorkflowEvaluationError> mWarnings;
-
-public:
- WorkflowEvaluationContext(Workflow& workflow);
-
- BaseValue* GetConnectionValue(size_t id, bool constant);
- BaseValue* GetConnectionValue(const WorkflowNode::InputPin& inputPin);
- void SetConnectionValue(size_t id, std::unique_ptr<BaseValue> value);
- void SetConnectionValue(const WorkflowNode::OutputPin& outputPin, std::unique_ptr<BaseValue> value);
-
- void ReportError(std::string message, const WorkflowNode& node, int pinId, bool inputPin);
- void ReportError(std::string message, const WorkflowNode& node);
- void ReportWarning(std::string message, const WorkflowNode& node, int pinId, bool inputPin);
- void ReportWarning(std::string message, const WorkflowNode& node);
-
- /// Run until all possible paths have been evaluated.
- void Run();
-};