diff options
Diffstat (limited to 'core/src/Model/Workflow/Evaluation.hpp')
-rw-r--r-- | core/src/Model/Workflow/Evaluation.hpp | 67 |
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(); -}; |