28template <
typename EventType>
35 "The client behavior cannot post events before being assigned to an orthogonal. Ignoring "
44template <
typename EventType>
51 "The client behavior cannot post events before being assigned to an orthogonal. Ignoring "
66template <
typename SmaccClientType>
72template <
typename SmaccComponentType>
80 "Cannot use the requiresComponent funcionality before assigning the client behavior to an "
81 "orthogonal. Try using the OnEntry method to capture required components.");
89template <
typename TOrthogonal,
typename TSourceObject>
smacc2::ISmaccOrthogonal * currentOrthogonal
ISmaccState * getCurrentState()
ISmaccStateMachine * stateMachine_
virtual rclcpp::Logger getLogger() const
void onOrthogonalAllocation()
ISmaccState * currentState
void requiresClient(SmaccClientType *&storage)
void requiresComponent(SmaccComponentType *&storage, bool throwExceptionIfNotExist=false)
ISmaccStateMachine * getStateMachine()
bool requiresClient(SmaccClientType *&storage)
void requiresComponent(SmaccComponentType *&storage, bool throwsExceptionIfNotExist=false)
void postEvent(EventType *ev, EventLifeTime evlifetime=EventLifeTime::ABSOLUTE)