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 const char * name()=0
Pure virtual function to get names of creation target ExecutionContext.
virtual ~ECFactoryBase()=default
Virtual destructor.
virtual ExecutionContextBase * create()=0
Pure virtual function to create ExecutionContext.
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
ExecutionContextBase * create() override
Create the target ExecutionContext's instances.
void destroy(ExecutionContextBase *ec) override
Destroy the target ExecutionContext's instances.
ECFactoryCXX(const char *name, ECNewFunc new_func, ECDeleteFunc delete_func)
Constructor.
ECDeleteFunc m_Delete
Function to destroy the target ExecutionContext .
Definition ECFactory.h:358
const char * name() override
Get names of the target ExecutionContext for creation.
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
ExecutionContextBase *(*)() ECNewFunc
Definition ECFactory.h:29
void(*)(ExecutionContextBase *) ECDeleteFunc
Definition ECFactory.h:30
void ECDelete(ExecutionContextBase *ec)
Template function to destroy ExecutionContext.
Definition ECFactory.h:77
ExecutionContextBase * ECCreate()
Template function to create ExecutionContext.
Definition ECFactory.h:52