19#ifndef RTC_IMPL_RTOBJECTSTATEMACHINE_H
20#define RTC_IMPL_RTOBJECTSTATEMACHINE_H
24#include <coil/TimeMeasure.h>
25#include <rtm/idl/RTCSkel.h>
31#define NUM_OF_LIFECYCLESTATE 4
38 using Ecid = RTC::ExecutionContextHandle_t;
46 RTC::LightweightRTObject_ptr comp);
103 RTC::ExecutionContextHandle_t m_id;
105 RTC::LightweightRTObject_var m_rtobj;
113 RTC::ComponentAction_var m_caVar;
114 RTC::DataFlowComponentAction_var m_dfcVar;
115 RTC::FsmParticipantAction_var m_fsmVar;
116 RTC::MultiModeComponentAction_var m_modeVar;
120 coil::TimeMeasure m_svtMeasure;
121 coil::TimeMeasure m_refMeasure;
122 std::atomic<bool> m_activation;
123 std::atomic<bool> m_deactivation;
124 std::atomic<bool> m_reset;
State machine template class.
RT component logger class.
Logger class.
Definition SystemLogger.h:101
RT-Component class.
Definition RTObject.h:93
State machine class.
Definition StateMachine.h:267
Definition RTObjectStateMachine.h:43
void onAction(const ExecContextStates &st)
RTC::ReturnCode_t onRateChanged()
RTObjectStateMachine & operator=(RTObjectStateMachine const &)=delete
ExecContextStates getStates()
void onExecute(const ExecContextStates &st)
void onDeactivated(const ExecContextStates &st)
RTObjectStateMachine(RTC::ExecutionContextHandle_t id, RTC::LightweightRTObject_ptr comp)
RTObjectStateMachine(RTObjectStateMachine const &)=delete
RTC::LightweightRTObject_ptr getRTObject()
ExecContextState getState()
void setFsmParticipantAction(RTC::LightweightRTObject_ptr comp)
void goTo(ExecContextState state)
void onModeChanged(const ExecContextStates &st)
bool isEquivalent(RTC::LightweightRTObject_ptr comp)
void onAborting(const ExecContextStates &st)
void onStateUpdate(const ExecContextStates &st)
void setMultiModeComponentAction(RTC::LightweightRTObject_ptr comp)
void setDataFlowComponentAction(RTC::LightweightRTObject_ptr comp)
void setComponentAction(RTC::LightweightRTObject_ptr comp)
RTC::ExecutionContextHandle_t getExecutionContextHandle()
void onError(const ExecContextStates &st)
void onActivated(const ExecContextStates &st)
void onReset(const ExecContextStates &st)
virtual ~RTObjectStateMachine()
bool isNextState(ExecContextState state)
bool isCurrentState(ExecContextState state)
Definition ExecutionContextProfile.h:29
RTC::ExecutionContextHandle_t Ecid
Definition RTObjectStateMachine.h:38
RTC::LifeCycleState ExecContextState
Definition RTObjectStateMachine.h:39