![]() |
HydroCouple
2.0.0
HydroCouple Interface Definitions
|
IWorkflowComponent manages the execution workflow for a set of coupled IModelComponent instances. More...
#include <hydrocouple.h>
Public Types | |
| enum class | WorkflowStatus { Created , Initializing , Initialized , Updating , Updated , Done , Finishing , Finished , Failed } |
| The WorkflowStatus enum describes the status of a workflow component over the course of its lifetime. More... | |
Public Member Functions | |
| virtual | ~IWorkflowComponent ()=default |
| ~IWorkflowComponent destructor for IWorkflowComponent class. | |
| virtual IWorkflowComponentInfo * | componentInfo () const =0 |
| Gets the metadata information about this workflow component. | |
| virtual std::vector< IIdentity * > | modelComponentLabels () const =0 |
| requiredModelComponentIdentifiers returns the vector of IModelComponent identifiers that are required by this component. | |
| virtual bool | isRequiredModelComponent (const IIdentity *modelComponentLabel) const =0 |
| isRequiredModelComponent checks if the model component is required by this component. | |
| virtual void | initialize ()=0 |
| Initializes the workflow component. | |
| virtual void | update ()=0 |
| Updates the workflow component for the current time step. | |
| virtual void | finish ()=0 |
| Finalizes the workflow component and releases resources. | |
| virtual WorkflowStatus | status () const =0 |
| Gets the current status of the workflow component. | |
| virtual std::vector< IModelComponent * > | modelComponents () const =0 |
| Gets the model components managed by this workflow. | |
| virtual bool | addModelComponent (IModelComponent *component, const IIdentity *modelRoleIdentifier=nullptr)=0 |
| addModelComponent Adds model component instance to workflow | |
| virtual bool | removeModelComponent (IModelComponent *component)=0 |
| removeModelComponent Removes model component instance from workflow | |
Public Member Functions inherited from HydroCouple::IIdentity | |
| virtual | ~IIdentity ()=default |
| IIdentity::~IIdentity is a virtual destructor. | |
| virtual const std::string & | id () const =0 |
| Gets a unique identifier for the entity. | |
Public Member Functions inherited from HydroCouple::IDescription | |
| virtual | ~IDescription ()=default |
| IDescription::~IDescription is a virtual destructor. | |
| virtual const std::string & | caption () const =0 |
| Gets caption for the entity. | |
| virtual void | setCaption (const std::string &caption)=0 |
| Sets caption for the entity. | |
| virtual const std::string & | description () const =0 |
| Gets additional descriptive information for the entity. | |
| virtual void | setDescription (const std::string &description)=0 |
| Gets additional descriptive information for the entity. | |
Public Member Functions inherited from HydroCouple::IPropertyChanged | |
| virtual | ~IPropertyChanged ()=default |
| IPropertyChanged::~IPropertyChanged is a virtual destructor. | |
Public Member Functions inherited from HydroCouple::ISignal< std::string > | |
| virtual | ~ISignal ()=default |
| ISignal::~ISignal is a virtual destructor. | |
| virtual void | connect (const std::shared_ptr< ISlot< Args... > > &slot)=0 |
| connect is used to connect a slot to the signal. | |
| virtual void | disconnect (const std::shared_ptr< ISlot< Args... > > &slot)=0 |
| disconnect is used to disconnect a slot from the signal. | |
| virtual void | blockSignals (bool block)=0 |
| blockSignals is used to block signals from being emitted. | |
Public Member Functions inherited from HydroCouple::ISignal< const std::shared_ptr< IWorkflowComponentStatusChangeEventArgs > & > | |
| virtual | ~ISignal ()=default |
| ISignal::~ISignal is a virtual destructor. | |
| virtual void | connect (const std::shared_ptr< ISlot< Args... > > &slot)=0 |
| connect is used to connect a slot to the signal. | |
| virtual void | disconnect (const std::shared_ptr< ISlot< Args... > > &slot)=0 |
| disconnect is used to disconnect a slot from the signal. | |
| virtual void | blockSignals (bool block)=0 |
| blockSignals is used to block signals from being emitted. | |
Additional Inherited Members | |
Protected Member Functions inherited from HydroCouple::ISignal< std::string > | |
| virtual void | emit (Args... args)=0 |
| emit is used to emit the signal. | |
Protected Member Functions inherited from HydroCouple::ISignal< const std::shared_ptr< IWorkflowComponentStatusChangeEventArgs > & > | |
| virtual void | emit (Args... args)=0 |
| emit is used to emit the signal. | |
IWorkflowComponent manages the execution workflow for a set of coupled IModelComponent instances.
A workflow component orchestrates the initialization, execution, and finalization of multiple model components that form a coupled simulation.
|
strong |
The WorkflowStatus enum describes the status of a workflow component over the course of its lifetime.
|
virtualdefault |
~IWorkflowComponent destructor for IWorkflowComponent class.
|
pure virtual |
addModelComponent Adds model component instance to workflow
| component | is the IModelComponent to add to the workflow. |
| modelRoleIdentifier | is the IIdentity of the role of the model component. If null, the component is added as a standalone component. in which case the workflow likely does not require ordered or specific components for its operation. |
|
pure virtual |
Gets the metadata information about this workflow component.
|
pure virtual |
Finalizes the workflow component and releases resources.
|
pure virtual |
Initializes the workflow component.
|
pure virtual |
isRequiredModelComponent checks if the model component is required by this component.
| modelComponentLabel | is the IIdentity label specifying the model component. |
|
pure virtual |
requiredModelComponentIdentifiers returns the vector of IModelComponent identifiers that are required by this component.
|
pure virtual |
Gets the model components managed by this workflow.
|
pure virtual |
removeModelComponent Removes model component instance from workflow
| component | is the IModelComponent to remove from the workflow. |
|
pure virtual |
Gets the current status of the workflow component.
|
pure virtual |
Updates the workflow component for the current time step.