40 template <
typename TOrthogonal,
typename TBehavior,
typename... Args>
43 template <
typename SmaccComponentType>
46 template <
typename SmaccClientType>
57 typename TStateReactor,
typename TTriggerEvent,
typename TEventList,
typename... TEvArgs>
60 template <
typename TStateReactor,
typename... TEvArgs>
63 template <
typename TEventGenerator,
typename... TEvArgs>
66 template <
typename EventType>
69 template <
typename EventType>
73 template <
typename TransitionType>
78 std::shared_ptr<smacc2::introspection::TypeInfo> & transitionTypeInfo);
87 template <
typename TOrthogonal>
90 template <
typename TEventGenerator>
93 template <
typename TStateReactor>
std::shared_ptr< rclcpp::Logger > logger_
rclcpp::Logger getLogger()
std::shared_ptr< TEventGenerator > createEventGenerator(TEvArgs... args)
ISmaccState * getParentState()
std::vector< std::shared_ptr< StateReactor > > stateReactors_
bool getGlobalSMData(std::string name, T &ret)
std::shared_ptr< TBehavior > configure(Args &&... args)
rclcpp::Node::SharedPtr node_
virtual std::string getClassName()
ISmaccState * parentState_
void requiresClient(SmaccClientType *&storage)
virtual std::string getName()=0
std::shared_ptr< TStateReactor > createStateReactor(TEvArgs... args)
std::vector< std::shared_ptr< StateReactor > > & getStateReactors()
TOrthogonal * getOrthogonal()
void requiresComponent(SmaccComponentType *&storage)
TStateReactor * getStateReactor()
std::vector< std::shared_ptr< SmaccEventGenerator > > & getEventGenerators()
virtual ISmaccStateMachine & getStateMachine()=0
std::vector< std::shared_ptr< smacc2::SmaccEventGenerator > > eventGenerators_
void setGlobalSMData(std::string name, T value)
const smacc2::introspection::SmaccStateInfo * stateInfo_
rclcpp::Node::SharedPtr & getNode()
TEventGenerator * getEventGenerator()
void notifyTransitionFromTransitionTypeInfo(std::shared_ptr< smacc2::introspection::TypeInfo > &transitionTypeInfo)