23 #include <coil/Properties.h>
64 template <
class T_New>
67 return new T_New(manager);
109 template <
class T_Delete>
Object numbering policy base class.
FactoryBase base class.
Definition: Factory.h:138
virtual RTObject_impl * create(Manager *mgr)=0
Create components.
FactoryBase(const coil::Properties &profile)
Constructor.
virtual coil::Properties & profile()
Get the component profile.
coil::Properties m_Profile
Component profile.
Definition: Factory.h:272
virtual void destroy(RTObject_impl *comp)=0
Destroy components.
virtual int number()
Get the number of current instances.
int m_Number
Number of current RT-Component's instances.
Definition: Factory.h:281
virtual ~FactoryBase()
Destructor.
FactoryCXX class.
Definition: Factory.h:307
RtcNewFunc m_New
The pointer to component object create function.
Definition: Factory.h:406
RTObject_impl * create(Manager *mgr) override
Create RT-Components.
void destroy(RTObject_impl *comp) override
Destroy RT-Components.
RTM::NumberingPolicyBase * m_policy
The naming policy on creating the components.
Definition: Factory.h:424
RtcDeleteFunc m_Delete
The pointer to component object destroy function.
Definition: Factory.h:415
FactoryCXX(const coil::Properties &profile, RtcNewFunc new_func, RtcDeleteFunc delete_func, RTM::NumberingPolicyBase *policy=new RTM::ProcessUniquePolicy())
Constructor.
~FactoryCXX() override
Definition: Factory.h:347
Manager class.
Definition: Manager.h:91
RT-Component class.
Definition: RTObject.h:93
Definition: NumberingPolicyBase.h:56
Class for naming policy management when creating objects.
Definition: NumberingPolicy.h:54
void Delete(RTObject_impl *rtc)
Template function to destroy RT-Components.
Definition: Factory.h:110
void deleteRTObject(RTObject_impl *rtc)
RTObject_impl * Create(Manager *manager)
Template function to create RT-Components.
Definition: Factory.h:65
void(*)(RTObject_impl *) RtcDeleteFunc
Definition: Factory.h:34
coil::Properties Properties
Definition: RTC.h:72
RTObject_impl *(*)(Manager *) RtcNewFunc
Definition: Factory.h:33