20 #ifndef RTC_ECFACTORY_H
21 #define RTC_ECFACTORY_H
51 template <
class T_New>
76 template <
class T_Delete>
156 virtual const char*
name() = 0;
ExecutionContext base class.
ECFactoryBase abstract class.
Definition: ECFactory.h:116
virtual ExecutionContextBase * create()=0
Pure virtual function to create ExecutionContext.
virtual const char * name()=0
Pure virtual function to get names of creation target ExecutionContext.
virtual ~ECFactoryBase()=default
Virtual destructor.
virtual void destroy(ExecutionContextBase *comp)=0
Pure virtual function to destroy ExecutionContext.
ECFactoryCXX class.
Definition: ECFactory.h:223
ECNewFunc m_New
Function to create the target ExecutionContext.
Definition: ECFactory.h:349
void destroy(ExecutionContextBase *ec) override
Destroy the target ExecutionContext's instances.
ECFactoryCXX(const char *name, ECNewFunc new_func, ECDeleteFunc delete_func)
Constructor.
const char * name() override
Get names of the target ExecutionContext for creation.
ECDeleteFunc m_Delete
Function to destroy the target ExecutionContext.
Definition: ECFactory.h:358
ExecutionContextBase * create() override
Create the target ExecutionContext's instances.
std::string m_name
Names of the target ExecutionContext for creation.
Definition: ECFactory.h:340
~ECFactoryCXX() override
Virtual destructor.
A base class for ExecutionContext.
Definition: ExecutionContextBase.h:366
void ECDelete(ExecutionContextBase *ec)
Template function to destroy ExecutionContext.
Definition: ECFactory.h:77
ExecutionContextBase * ECCreate()
Template function to create ExecutionContext.
Definition: ECFactory.h:52
ExecutionContextBase *(*)() ECNewFunc
Definition: ECFactory.h:29
void(*)(ExecutionContextBase *) ECDeleteFunc
Definition: ECFactory.h:30