From a96761a29e9ff67b1756020f87deabc79f635b79 Mon Sep 17 00:00:00 2001 From: rtk0c Date: Sun, 9 May 2021 16:37:42 -0700 Subject: Work on workflow module --- core/src/Model/Workflow/Workflow.hpp | 45 ++++++++++++++++++++---------------- 1 file changed, 25 insertions(+), 20 deletions(-) (limited to 'core/src/Model/Workflow/Workflow.hpp') diff --git a/core/src/Model/Workflow/Workflow.hpp b/core/src/Model/Workflow/Workflow.hpp index f26fff9..cf3e2f9 100644 --- a/core/src/Model/Workflow/Workflow.hpp +++ b/core/src/Model/Workflow/Workflow.hpp @@ -217,29 +217,34 @@ public: /* Graph rebuild */ - struct GraphUpdate_Success + struct GraphUpdateResult { + struct Success + { + }; + + struct NoWorkToDo + { + }; + + struct UnsatisfiedDependencies + { + std::vector UnsatisfiedNodes; + }; + + struct UnreachableNodes + { + std::vector UnreachableNodes; + }; + + using T = std::variant< + Success, + NoWorkToDo, + UnsatisfiedDependencies, + UnreachableNodes>; }; - struct GraphUpdate_NoWorkToDo - { - }; - struct GraphUpdate_UnsatisfiedDependencies - { - std::vector UnsatisfiedNodes; - }; - struct GraphUpdate_UnreachableNodes - { - std::vector UnreachableNodes; - }; - - using GraphUpdateResult = std::variant< - GraphUpdate_Success, - GraphUpdate_NoWorkToDo, - GraphUpdate_UnsatisfiedDependencies, - GraphUpdate_UnreachableNodes>; - /// When `getInfo == false, the corresponding error code is returned but without/with empty payloads. - GraphUpdateResult UpdateGraph(bool getInfo = true); + GraphUpdateResult::T UpdateGraph(); /* Serialization */ -- cgit v1.2.3-70-g09d2