28template <
typename EventType>
 
   34template <
typename EventType>
 
   40template <
typename TComponent>
 
   46template <
typename TComponent>
 
   52    auto * tcomponent = 
dynamic_cast<TComponent *
>(component.second.get());
 
   53    if (tcomponent != 
nullptr)
 
 
   70template <
typename TComponent>
 
   75    if (!name.empty() && component.first.name != name) 
continue;
 
   77    auto * tcomponent = 
dynamic_cast<TComponent *
>(component.second.get());
 
   78    if (tcomponent != 
nullptr)
 
 
   90template <
typename SmaccComponentType, 
typename TOrthogonal, 
typename TClient, 
typename... TArgs>
 
   93  ComponentKey componentkey(&
typeid(SmaccComponentType), name);
 
   95  std::shared_ptr<SmaccComponentType> ret;
 
  104      "Creating a new component of type: %s smacc component is required by client '%s'. Creating a " 
  108    ret = std::shared_ptr<SmaccComponentType>(
new SmaccComponentType(targs...));
 
  111    ret->initialize(
this);
 
  117    RCLCPP_DEBUG(
getLogger(), 
"%s resource is required. Done.", tname.c_str());
 
  122      getLogger(), 
"%s resource is required. Found resource in cache.",
 
  124    ret = dynamic_pointer_cast<SmaccComponentType>(it->second);
 
 
  133template <
typename SmaccComponentType, 
typename TOrthogonal, 
typename TClient, 
typename... TArgs>
 
  137    std::string(), targs...);
 
 
  140template <
typename TSmaccSignal, 
typename T>
 
  146template <
typename SmaccClientType>
 
ISmaccStateMachine * stateMachine_
 
void onStateOrthogonalAllocation()
 
ISmaccStateMachine * getStateMachine()
 
std::map< ComponentKey, std::shared_ptr< smacc2::ISmaccComponent > > components_
 
virtual std::string getName() const
 
void onOrthogonalAllocation()
 
SmaccComponentType * createNamedComponent(std::string name, TArgs... targs)
 
rclcpp::Logger getLogger()
 
SmaccComponentType * createComponent(TArgs... targs)
 
void connectSignal(TSmaccSignal &signal, void(T::*callback)(), T *object)
 
void onComponentInitialization()
 
ISmaccOrthogonal * orthogonal_
 
void requiresClient(SmaccClientType *&storage)
 
TComponent * getComponent()
 
bool requiresClient(SmaccClientType *&storage)
 
boost::signals2::connection createSignalConnection(TSmaccSignal &signal, TMemberFunctionPrototype callback, TSmaccObjectType *object)
 
void postEvent(EventType *ev, EventLifeTime evlifetime=EventLifeTime::ABSOLUTE)
 
std::string demangledTypeName()