36 void addClientBehavior(std::shared_ptr<smacc2::ISmaccClientBehavior> clientBehavior);
46 virtual std::string
getName()
const;
48 template <
typename SmaccComponentType>
51 template <
typename SmaccClientType>
54 inline const std::vector<std::shared_ptr<smacc2::ISmaccClient>> &
getClients();
56 inline const std::vector<std::vector<std::shared_ptr<smacc2::ISmaccClientBehavior>>> &
67 template <
typename TClientBehavior>
70 rclcpp::Node::SharedPtr
getNode();
78 template <
typename TOrthogonal,
typename TClient>
81 std::vector<std::shared_ptr<smacc2::ISmaccClient>>
clients_;
86 std::vector<std::vector<std::shared_ptr<smacc2::ISmaccClientBehavior>>>
clientBehaviors_;
ISmaccStateMachine * getStateMachine()
void setStateMachine(ISmaccStateMachine *value)
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_
void initState(ISmaccState *state)
ISmaccStateMachine * stateMachine_
bool requiresClient(SmaccClientType *&storage)
void assignClientToOrthogonal(TClient *client)
std::vector< std::vector< std::shared_ptr< smacc2::ISmaccClientBehavior > > > clientBehaviors_
virtual std::string getName() const
rclcpp::Node::SharedPtr getNode()
const std::vector< std::vector< std::shared_ptr< smacc2::ISmaccClientBehavior > > > & getClientBehaviors() const
TClientBehavior * getClientBehavior(int index=0)
const std::vector< std::shared_ptr< smacc2::ISmaccClient > > & getClients()