24#include <boost/optional.hpp>
37 virtual std::string
getName()
const;
44 template <
typename EventType>
47 template <
typename EventType>
50 template <
typename TOrthogonal,
typename TSourceObject>
55 template <
typename TComponent>
57 TComponent *& requiredComponentStorage,
bool throwExceptionIfNotExist =
false);
59 template <
typename TComponent>
61 std::string name, TComponent *& requiredComponentStorage,
62 bool throwExceptionIfNotExist =
false);
64 template <
typename TClient>
67 template <
typename SmaccComponentType,
typename TOrthogonal,
typename TClient,
typename... TArgs>
70 template <
typename SmaccComponentType,
typename TOrthogonal,
typename TClient,
typename... TArgs>
73 rclcpp::Node::SharedPtr
getNode();
void requiresComponent(TComponent *&requiredComponentStorage, bool throwExceptionIfNotExist=false)
void onOrthogonalAllocation()
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
ISmaccStateMachine * stateMachine_
rclcpp::Node::SharedPtr getNode()
virtual ~ISmaccComponent()
void setStateMachine(ISmaccStateMachine *stateMachine)