19 #ifndef DOIL_SERVANTFACTORY_H 20 #define DOIL_SERVANTFACTORY_H 28 typedef ServantBase* (*ServantNewFunc)(ImplBase*);
32 template <
class Servant>
35 return new Servant(impl);
39 template <
class Servant>
53 virtual const char*
name() = 0;
66 : m_id(id), m_new(new_func), m_delete(delete_func)
87 virtual const char*
id()
107 #endif // DOIL_SERVANTFACTORY_H
ServantFactory(const char *id, ServantNewFunc new_func, ServantDeleteFunc delete_func)
ServantBase *(* ServantNewFunc)()
virtual ~ServantFactoryBase()
ProxyBase * New(::CORBA::Object_ptr obj)
virtual ServantBase * create()=0
virtual const char * id()
virtual void destroy(ServantBase *servant)=0
doil implementation base class
virtual ServantBase * create(ImplBase *impl)
void(* ServantDeleteFunc)(ServantBase *)
doil implementation base class
virtual ~ServantFactory()
virtual const char * name()=0
virtual void destroy(ServantBase *servant)
void Delete(ProxyBase *impl)
ServantDeleteFunc m_delete