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_
void onStateOrthogonalAllocation()
virtual rclcpp::Logger getLogger() const
ISmaccState * currentState
void requiresClient(SmaccClientType *&storage)
void requiresComponent(SmaccComponentType *&storage, ComponentRequirement requirementType=ComponentRequirement::SOFT)
ISmaccStateMachine * getStateMachine()
bool requiresClient(SmaccClientType *&storage)
void requiresComponent(SmaccComponentType *&storage, ComponentRequirement requirementType)
void postEvent(EventType *ev, EventLifeTime evlifetime=EventLifeTime::ABSOLUTE)