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)