53 virtual std::string
getName()
const;
55 template <
typename TComponent>
58 template <
typename TComponent>
62 template <
typename TComponent>
69 template <
typename TSmaccSignal,
typename T>
70 void connectSignal(TSmaccSignal & signal,
void (T::*callback)(), T *
object);
72 template <
typename SmaccClientType>
75 void getComponents(std::vector<std::shared_ptr<ISmaccComponent>> & components);
80 template <
typename EventType>
84 template <
typename EventType>
89 template <
typename TOrthogonal,
typename TSourceObject>
95 std::map<ComponentKey, std::shared_ptr<smacc2::ISmaccComponent>>
components_;
97 template <
typename SmaccComponentType,
typename TOrthogonal,
typename TClient,
typename... TArgs>
100 template <
typename SmaccComponentType,
typename TOrthogonal,
typename TClient,
typename... TArgs>
103 rclcpp::Node::SharedPtr
getNode();
ISmaccStateMachine * stateMachine_
virtual void onInitialize()
rclcpp::Node::SharedPtr getNode()
ISmaccStateMachine * getStateMachine()
const std::vector< std::shared_ptr< ISmaccComponent > > & iterateComponents() const
std::map< ComponentKey, std::shared_ptr< smacc2::ISmaccComponent > > components_
void setStateMachine(ISmaccStateMachine *stateMachine)
virtual std::string getName() const
void onOrthogonalAllocation()
void setOrthogonal(ISmaccOrthogonal *orthogonal)
SmaccComponentType * createNamedComponent(std::string name, TArgs... targs)
rclcpp::Logger getLogger()
virtual smacc2::introspection::TypeInfo::Ptr getType()
SmaccComponentType * createComponent(TArgs... targs)
void connectSignal(TSmaccSignal &signal, void(T::*callback)(), T *object)
ISmaccOrthogonal * orthogonal_
void requiresClient(SmaccClientType *&storage)
void getComponents(std::vector< std::shared_ptr< ISmaccComponent > > &components)
TComponent * getComponent()
std::shared_ptr< TypeInfo > Ptr
const std::type_info * typeinfo
ComponentKey(const std::type_info *typeinfo, std::string name)
bool operator==(const ComponentKey &other) const
bool operator<(const ComponentKey &other) const