PTLib
Version 2.14.3
|
Class for a factory to create concrete class instances without parameters during construction. More...
#include <pfactory.h>
Classes | |
class | Worker |
Public Types | |
typedef PFactoryTemplate < AbstractClass, const KeyType &, KeyType > | Base_T |
typedef Base_T::WorkerBase | WorkerBase_T |
typedef Base_T::Abstract_T | Abstract_T |
typedef Base_T::Param_T | Param_T |
typedef Base_T::Key_T | Key_T |
![]() | |
typedef AbstractClass | Abstract_T |
typedef const KeyType & | Param_T |
typedef KeyType | Key_T |
typedef std::vector< Key_T > | KeyList_T |
typedef std::map< Key_T, WorkerBase * > | WorkerMap_T |
typedef WorkerMap_T::iterator | WorkerIter_T |
Public Member Functions | |
PFACTORY_STATICS (PFactory) | |
![]() | |
virtual void | DestroySingletons () |
![]() | |
virtual | ~PFactoryBase () |
Static Public Member Functions | |
static Abstract_T * | CreateInstance (const Key_T &key) |
template<class Derived_T > | |
static Derived_T * | CreateInstanceAs (const Key_T &key) |
Additional Inherited Members | |
![]() | |
PFactoryTemplate () | |
~PFactoryTemplate () | |
bool | InternalRegister (const Key_T &key, WorkerBase *worker) |
bool | InternalRegister (const Key_T &key, Abstract_T *instance, bool autoDeleteInstance) |
PBoolean | InternalRegisterAs (const Key_T &newKey, const Key_T &oldKey) |
void | InternalUnregister (const Key_T &key) |
void | InternalUnregister (WorkerBase *instance) |
void | InternalUnregisterAll () |
bool | InternalIsRegistered (const Key_T &key) |
Abstract_T * | InternalCreateInstance (const Key_T &key, Param_T param) |
void | InternalDestroy (const Key_T &key, Abstract_T *instance) |
bool | InternalIsSingleton (const Key_T &key) |
KeyList_T | InternalGetKeyList () |
![]() | |
static PFactoryBase & | InternalGetFactory (const std::string &className, PFactoryBase *(*createFactory)()) |
template<class TheFactory > | |
static PFactoryBase * | CreateFactory () |
template<class TheFactory > | |
static TheFactory & | GetFactoryAs () |
![]() | |
WorkerMap_T | m_workers |
Class for a factory to create concrete class instances without parameters during construction.
typedef Base_T::Abstract_T PFactory< AbstractClass, KeyType >::Abstract_T |
typedef PFactoryTemplate<AbstractClass, const KeyType &, KeyType> PFactory< AbstractClass, KeyType >::Base_T |
typedef Base_T::Key_T PFactory< AbstractClass, KeyType >::Key_T |
typedef Base_T::Param_T PFactory< AbstractClass, KeyType >::Param_T |
typedef Base_T::WorkerBase PFactory< AbstractClass, KeyType >::WorkerBase_T |
|
inlinestatic |
|
inlinestatic |
PFactory< AbstractClass, KeyType >::PFACTORY_STATICS | ( | PFactory< AbstractClass, KeyType > | ) |