RTC Toolkit  0.1.0-alpha
runnableStateMachineLogicIf.hpp
Go to the documentation of this file.
1 
9 #ifndef RTCTK_COMPONENTFRAMEWORK_RUNNABLESTATEMACHINELOGICIF_HPP
10 #define RTCTK_COMPONENTFRAMEWORK_RUNNABLESTATEMACHINELOGICIF_HPP
11 
13 
14 namespace rtctk::componentFramework {
15 
16 // TODO: the exact type of Payload still needs to be worked out.
17 using Payload = std::string;
18 
19 
27  public:
28  virtual ~RunnableStateMachineLogicIf() = default;
29 
37  virtual void Starting(StopToken st) = 0;
38 
46  virtual void Initialising(StopToken st) = 0;
47 
55  virtual void Enabling(StopToken st) = 0;
56 
64  virtual void GoingRunning(StopToken st) = 0;
65 
73  virtual void Running(StopToken st) = 0;
74 
82  virtual void GoingIdle(StopToken st) = 0;
83 
91  virtual void Disabling(StopToken st) = 0;
92 
101  virtual void Recovering(StopToken st) = 0;
102 
112  virtual void Updating(StopToken st, Payload args) = 0;
113 
125  virtual bool IsUpdatingAllowed(Payload args) /*noexcept*/ = 0 ;
126 };
127 
128 } // closing namespace
129 
130 #endif
rtctk::componentFramework::RunnableStateMachineLogicIf::~RunnableStateMachineLogicIf
virtual ~RunnableStateMachineLogicIf()=default
rtctk::componentFramework::RunnableStateMachineLogicIf::IsUpdatingAllowed
virtual bool IsUpdatingAllowed(Payload args)=0
rtctk::componentFramework
Definition: rtcComponent.hpp:17
rtctk::componentFramework::RunnableStateMachineLogicIf::Starting
virtual void Starting(StopToken st)=0
rtctk::componentFramework::RunnableStateMachineLogicIf::Initialising
virtual void Initialising(StopToken st)=0
rtctk::componentFramework::RunnableStateMachineLogicIf
Definition: runnableStateMachineLogicIf.hpp:26
rtctk::componentFramework::StopToken
rad::StopToken StopToken
Definition: stopToken.hpp:16
rtctk::componentFramework::RunnableStateMachineLogicIf::Enabling
virtual void Enabling(StopToken st)=0
rtctk::componentFramework::Payload
std::string Payload
Definition: runnableStateMachineLogicIf.hpp:17
rtctk::componentFramework::RunnableStateMachineLogicIf::Updating
virtual void Updating(StopToken st, Payload args)=0
rtctk::componentFramework::RunnableStateMachineLogicIf::Running
virtual void Running(StopToken st)=0
rtctk::componentFramework::RunnableStateMachineLogicIf::Disabling
virtual void Disabling(StopToken st)=0
rtctk::componentFramework::RunnableStateMachineLogicIf::Recovering
virtual void Recovering(StopToken st)=0
stopToken.hpp
A simple Stop Token.
rtctk::componentFramework::RunnableStateMachineLogicIf::GoingIdle
virtual void GoingIdle(StopToken st)=0
rtctk::componentFramework::RunnableStateMachineLogicIf::GoingRunning
virtual void GoingRunning(StopToken st)=0