45 virtual std::string
getName()
const;
47 template <
typename EventType>
50 template <
typename EventType>
53 template <
typename TComponent>
56 template <
typename TComponent>
63 template <
typename TSmaccSignal,
typename T>
64 void connectSignal(TSmaccSignal &signal,
void (T::*callback)(), T *
object);
66 template <
typename SmaccClientType>
69 void getComponents(std::vector<std::shared_ptr<ISmaccComponent>> &components);
74 template <
typename TOrthogonal,
typename TSourceObject>
78 std::map<ComponentKey, std::shared_ptr<smacc::ISmaccComponent>>
components_;
80 template <
typename SmaccComponentType,
typename TOrthogonal,
typename TClient,
typename... TArgs>
83 template <
typename SmaccComponentType,
typename TOrthogonal,
typename TClient,
typename... TArgs>
void getComponents(std::vector< std::shared_ptr< ISmaccComponent > > &components)
void setStateMachine(ISmaccStateMachine *stateMachine)
void setOrthogonal(ISmaccOrthogonal *orthogonal)
ISmaccOrthogonal * orthogonal_
SmaccComponentType * createComponent(TArgs... targs)
void onOrthogonalAllocation()
void requiresClient(SmaccClientType *&storage)
virtual std::string getName() const
ISmaccStateMachine * stateMachine_
virtual void initialize()
std::map< ComponentKey, std::shared_ptr< smacc::ISmaccComponent > > components_
void connectSignal(TSmaccSignal &signal, void(T::*callback)(), T *object)
TComponent * getComponent()
virtual smacc::introspection::TypeInfo::Ptr getType()
ISmaccStateMachine * getStateMachine()
SmaccComponentType * createNamedComponent(std::string name, TArgs... targs)
std::shared_ptr< TypeInfo > Ptr
const std::type_info * typeinfo
bool operator<(const ComponentKey &other) const
bool operator==(const ComponentKey &other) const
ComponentKey(const std::type_info *typeinfo, std::string name)