30template <
typename EventType>
36template <
typename EventType>
43template <
typename TComponent>
52 this->
getLogger(), std::string(
"Required component ") +
54 " not found. Available components:");
56 std::vector<std::shared_ptr<ISmaccComponent>> components;
59 for (
auto c : components)
64 throw std::runtime_error(
69template <
typename TComponent>
78 this->
getLogger(), std::string(
"Required component with name: '") + name +
"'" +
80 " not found. Available components:");
82 std::vector<std::shared_ptr<ISmaccComponent>> components;
85 for (
auto c : components)
90 throw std::runtime_error(
92 std::string(
" not found"));
96template <
typename TClient>
SmaccComponentType * createNamedComponent(std::string name, TArgs... targs)
SmaccComponentType * createComponent(TArgs... targs)
void requiresClient(SmaccClientType *&storage)
void getComponents(std::vector< std::shared_ptr< ISmaccComponent > > &components)
TComponent * getComponent()
void requiresComponent(TComponent *&requiredComponentStorage, bool throwExceptionIfNotExist=false)
void requiresClient(TClient *&requiredClientStorage)
SmaccComponentType * createSiblingComponent(TArgs... targs)
SmaccComponentType * createSiblingNamedComponent(std::string name, TArgs... targs)
rclcpp::Logger getLogger() const
ISmaccStateMachine * stateMachine_
void postEvent(EventType *ev, EventLifeTime evlifetime=EventLifeTime::ABSOLUTE)
std::string demangleSymbol()