34 void addClientBehavior(std::shared_ptr<smacc2::ISmaccClientBehavior> clientBehavior);
42 virtual std::string
getName()
const;
44 template <
typename SmaccComponentType>
47 template <
typename SmaccClientType>
50 inline const std::vector<std::shared_ptr<smacc2::ISmaccClient>> &
getClients();
52 inline const std::vector<std::shared_ptr<smacc2::ISmaccClientBehavior>> &
getClientBehaviors()
61 template <
typename TClientBehavior>
64 rclcpp::Node::SharedPtr
getNode();
72 template <
typename TOrthogonal,
typename TClient>
75 std::vector<std::shared_ptr<smacc2::ISmaccClient>>
clients_;
std::vector< std::shared_ptr< smacc2::ISmaccClientBehavior > > clientBehaviors_
ISmaccStateMachine * getStateMachine()
void setStateMachine(ISmaccStateMachine *value)
const std::vector< std::shared_ptr< smacc2::ISmaccClientBehavior > > & getClientBehaviors() const
TClientBehavior * getClientBehavior()
void setGlobalSMData(std::string name, T value)
bool getGlobalSMData(std::string name, T &ret)
rclcpp::Logger getLogger()
virtual void onInitialize()
void requiresComponent(SmaccComponentType *&storage)
void addClientBehavior(std::shared_ptr< smacc2::ISmaccClientBehavior > clientBehavior)
std::vector< std::shared_ptr< smacc2::ISmaccClient > > clients_
ISmaccStateMachine * stateMachine_
bool requiresClient(SmaccClientType *&storage)
void assignClientToOrthogonal(TClient *client)
virtual std::string getName() const
rclcpp::Node::SharedPtr getNode()
const std::vector< std::shared_ptr< smacc2::ISmaccClient > > & getClients()