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