24#include <boost/optional.hpp>
37 virtual std::string
getName()
const;
45 template <
typename TOrthogonal,
typename TClient>
48 template <
typename EventType>
51 template <
typename EventType>
54 template <
typename TOrthogonal,
typename TSourceObject>
59 template <
typename TComponent>
61 TComponent *& requiredComponentStorage,
64 template <
typename TComponent>
66 std::string name, TComponent *& requiredComponentStorage,
69 template <
typename TClient>
72 template <
typename SmaccComponentType,
typename TOrthogonal,
typename TClient,
typename... TArgs>
75 template <
typename SmaccComponentType,
typename TOrthogonal,
typename TClient,
typename... TArgs>
78 rclcpp::Node::SharedPtr
getNode();
ISmaccStateMachine * getStateMachine()
void requiresClient(TClient *&requiredClientStorage)
virtual void onInitialize()
SmaccComponentType * createSiblingComponent(TArgs... targs)
SmaccComponentType * createSiblingNamedComponent(std::string name, TArgs... targs)
virtual std::string getName() const
void initialize(ISmaccClient *owner)
rclcpp::Logger getLogger() const
void onComponentInitialization()
ISmaccStateMachine * stateMachine_
void requiresComponent(TComponent *&requiredComponentStorage, ComponentRequirement requirementType=ComponentRequirement::SOFT)
rclcpp::Node::SharedPtr getNode()
virtual ~ISmaccComponent()
void onStateOrthogonalAllocation()
void setStateMachine(ISmaccStateMachine *stateMachine)