24#include <boost/statechart/event.hpp>
34class ISMaccStateMachine;
36namespace state_reactors
61 template <
typename EventType>
64 template <
typename EventType>
68 template <
typename T,
typename TClass>
80 template <
typename TEv>
83 template <
typename TEv>
89 rclcpp::Node::SharedPtr &
getNode();
96 template <
typename TEvent>
100 auto tid = &(
typeid(TEvent));
106 if (eventCallbacks_.count(tid))
void initialize(ISmaccState *ownerState)
virtual void onEventNotified(const std::type_info *eventType)
virtual void onInitialized()
void notifyEvent(TEvent *ev)
friend ISmaccStateMachine
std::function< void()> postEventFn
rclcpp::Node::SharedPtr & getNode()
void createEventCallback(void(TClass::*callback)(T *), TClass *object)
rclcpp::Logger getLogger()
std::vector< const std::type_info * > eventTypes
std::map< const std::type_info *, std::function< void(void *)> > eventCallbacks_
virtual bool triggers()=0
void callback(const image_tools::ROSCvMatContainer &img)