Class WorkflowManager¶
Defined in File WorkflowManager.h
Class Documentation¶
-
class WorkflowManager¶
Public Functions
-
void addWorkflow(ApplicationHandler &source_state, const std::set<std::string> &injection_names, const std::set<std::string> &sequence_segment_names, const std::set<std::string> &sample_group_names, const std::vector<ApplicationHandler::Command> &commands, const int number_of_threads, IApplicationProcessorObserver *application_processor_observer = nullptr, ISequenceProcessorObserver *sequence_processor_observer = nullptr, ISequenceSegmentProcessorObserver *sequence_segment_processor_observer = nullptr, ISampleGroupProcessorObserver *sample_group_processor_observer = nullptr, bool blocking = false)¶
Copies the passed application_handler and sets up the async run of the workflow. Only one workflow is managed at a time
- Parameters
The – [inout] application_handler that gets copied and then updated at the end of the workflow run
injection_names – [in] Injection names to use for Sequence Processing
sequence_segment_names – [in] Sequence Segment Names to use for Sequence Segment Processing
sample_group_names – [in] Sample Group Names to use for Sample Group Processing
commands – [in] Workflow steps
number_of_threads – [in] number of threads to use to execute the workflow
sequence_processor_observer – [in] an observer for sequence, used to report progress
sequence_segment_processor_observer – [in] an observer for sequence segment, used to report progress
sample_group_processor_observer, used – [in] to report progress
blocking – [in] If true the operation runs synchronously, otherwise runs asynchronously and returns immediately
-
bool isWorkflowDone() const¶
If this returns false, new workflows can’t run and the following menu items are disabled in the UI:
File -> Load session from sequence
Edit -> Workflow
Action -> Run command
Action -> Run workflow
-
void updateApplicationHandler(ApplicationHandler &source_app_handler)¶
Update the application handler with the resulting application handler must be called from the main thread.
-
std::set<std::string> getFilenameRequirements(const std::vector<ApplicationHandler::Command> &commands) const¶
Returns the list of requirements to run the workflow.
-
void addWorkflow(ApplicationHandler &source_state, const std::set<std::string> &injection_names, const std::set<std::string> &sequence_segment_names, const std::set<std::string> &sample_group_names, const std::vector<ApplicationHandler::Command> &commands, const int number_of_threads, IApplicationProcessorObserver *application_processor_observer = nullptr, ISequenceProcessorObserver *sequence_processor_observer = nullptr, ISequenceSegmentProcessorObserver *sequence_segment_processor_observer = nullptr, ISampleGroupProcessorObserver *sample_group_processor_observer = nullptr, bool blocking = false)¶