PTLib  Version 2.14.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
PParamFactory< AbstractClass, ParamType, KeyType > Class Template Reference

Class for a factory to create concrete class instances which have a single parameter during construction. More...

#include <pfactory.h>

Inheritance diagram for PParamFactory< AbstractClass, ParamType, KeyType >:
Collaboration diagram for PParamFactory< AbstractClass, ParamType, KeyType >:

Classes

class  Worker
 

Public Types

typedef PFactoryTemplate
< AbstractClass, ParamType,
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
 
- Public Types inherited from PFactoryTemplate< AbstractClass, ParamType, KeyType >
typedef AbstractClass Abstract_T
 
typedef ParamType Param_T
 
typedef KeyType Key_T
 
typedef std::vector< Key_TKeyList_T
 
typedef std::map< Key_T,
WorkerBase * > 
WorkerMap_T
 
typedef WorkerMap_T::iterator WorkerIter_T
 

Public Member Functions

 PFACTORY_STATICS (PParamFactory)
 
- Public Member Functions inherited from PFactoryTemplate< AbstractClass, ParamType, KeyType >
virtual void DestroySingletons ()
 
- Public Member Functions inherited from PFactoryBase
virtual ~PFactoryBase ()
 

Static Public Member Functions

static Abstract_TCreateInstance (const Key_T &key, Param_T param)
 
template<class Derived_T >
static Derived_T * CreateInstanceAs (const Key_T &key, Param_T param)
 

Additional Inherited Members

- Protected Member Functions inherited from PFactoryTemplate< AbstractClass, ParamType, KeyType >
 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_TInternalCreateInstance (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 Protected Member Functions inherited from PFactoryBase
static PFactoryBaseInternalGetFactory (const std::string &className, PFactoryBase *(*createFactory)())
 
template<class TheFactory >
static PFactoryBaseCreateFactory ()
 
template<class TheFactory >
static TheFactory & GetFactoryAs ()
 
- Protected Attributes inherited from PFactoryTemplate< AbstractClass, ParamType, KeyType >
WorkerMap_T m_workers
 

Detailed Description

template<class AbstractClass, typename ParamType, typename KeyType = PDefaultPFactoryKey>
class PParamFactory< AbstractClass, ParamType, KeyType >

Class for a factory to create concrete class instances which have a single parameter during construction.

Member Typedef Documentation

template<class AbstractClass , typename ParamType , typename KeyType = PDefaultPFactoryKey>
typedef Base_T::Abstract_T PParamFactory< AbstractClass, ParamType, KeyType >::Abstract_T
template<class AbstractClass , typename ParamType , typename KeyType = PDefaultPFactoryKey>
typedef PFactoryTemplate<AbstractClass, ParamType, KeyType> PParamFactory< AbstractClass, ParamType, KeyType >::Base_T
template<class AbstractClass , typename ParamType , typename KeyType = PDefaultPFactoryKey>
typedef Base_T::Key_T PParamFactory< AbstractClass, ParamType, KeyType >::Key_T
template<class AbstractClass , typename ParamType , typename KeyType = PDefaultPFactoryKey>
typedef Base_T::Param_T PParamFactory< AbstractClass, ParamType, KeyType >::Param_T
template<class AbstractClass , typename ParamType , typename KeyType = PDefaultPFactoryKey>
typedef Base_T::WorkerBase PParamFactory< AbstractClass, ParamType, KeyType >::WorkerBase_T

Member Function Documentation

template<class AbstractClass , typename ParamType , typename KeyType = PDefaultPFactoryKey>
static Abstract_T* PParamFactory< AbstractClass, ParamType, KeyType >::CreateInstance ( const Key_T key,
Param_T  param 
)
inlinestatic
template<class AbstractClass , typename ParamType , typename KeyType = PDefaultPFactoryKey>
template<class Derived_T >
static Derived_T* PParamFactory< AbstractClass, ParamType, KeyType >::CreateInstanceAs ( const Key_T key,
Param_T  param 
)
inlinestatic
template<class AbstractClass , typename ParamType , typename KeyType = PDefaultPFactoryKey>
PParamFactory< AbstractClass, ParamType, KeyType >::PFACTORY_STATICS ( PParamFactory< AbstractClass, ParamType, KeyType >  )

The documentation for this class was generated from the following file: