00001 // -*- C++ -*- 00019 #include <rtm/RTC.h> 00020 #include <rtm/ECFactory.h> 00021 00022 namespace RTC 00023 { 00024 00032 ECFactoryCXX::ECFactoryCXX(const char* name, 00033 ECNewFunc new_func, 00034 ECDeleteFunc delete_func) 00035 : m_name(name), 00036 m_New(new_func), 00037 m_Delete(delete_func) 00038 { 00039 } 00040 00048 ECFactoryCXX::~ECFactoryCXX() 00049 { 00050 } 00051 00059 const char* ECFactoryCXX::name() 00060 { 00061 return m_name.c_str(); 00062 } 00063 00071 ExecutionContextBase* ECFactoryCXX::create() 00072 { 00073 return m_New(); 00074 } 00075 00083 void ECFactoryCXX::destroy(ExecutionContextBase* ec) 00084 { 00085 m_Delete(ec); 00086 } 00087 00088 };