#include <pfactory.h>
Inheritance diagram for PFactory< _Abstract_T, _Key_T >:
Public Types | |
typedef _Key_T | Key_T |
typedef _Abstract_T | Abstract_T |
typedef std::map< _Key_T, WorkerBase * > | KeyMap_T |
typedef std::vector< _Key_T > | KeyList_T |
Static Public Member Functions | |
static void | Register (const _Key_T &key, WorkerBase *worker) |
static void | Register (const _Key_T &key, Abstract_T *instance, bool autoDeleteInstance=true) |
static PBoolean | RegisterAs (const _Key_T &newKey, const _Key_T &oldKey) |
static void | Unregister (const _Key_T &key) |
static void | UnregisterAll () |
static bool | IsRegistered (const _Key_T &key) |
static _Abstract_T * | CreateInstance (const _Key_T &key) |
template<class Derived_T> | |
static Derived_T * | CreateInstanceAs (const _Key_T &key) |
static PBoolean | IsSingleton (const _Key_T &key) |
static KeyList_T | GetKeyList () |
static KeyMap_T & | GetKeyMap () |
static PMutex & | GetMutex () |
Protected Member Functions | |
PFactory () | |
~PFactory () | |
void | Register_Internal (const _Key_T &key, WorkerBase *worker) |
PBoolean | RegisterAs_Internal (const _Key_T &newKey, const _Key_T &oldKey) |
void | Unregister_Internal (const _Key_T &key) |
void | UnregisterAll_Internal () |
bool | IsRegistered_Internal (const _Key_T &key) |
_Abstract_T * | CreateInstance_Internal (const _Key_T &key) |
bool | IsSingleton_Internal (const _Key_T &key) |
KeyList_T | GetKeyList_Internal () |
Static Protected Member Functions | |
static PFactory & | GetInstance () |
Protected Attributes | |
KeyMap_T | keyMap |
Classes | |
class | Worker |
class | WorkerBase |
typedef _Key_T PFactory< _Abstract_T, _Key_T >::Key_T |
typedef _Abstract_T PFactory< _Abstract_T, _Key_T >::Abstract_T |
typedef std::map<_Key_T, WorkerBase *> PFactory< _Abstract_T, _Key_T >::KeyMap_T |
typedef std::vector<_Key_T> PFactory< _Abstract_T, _Key_T >::KeyList_T |
PFactory< _Abstract_T, _Key_T >::PFactory | ( | ) | [inline, protected] |
PFactory< _Abstract_T, _Key_T >::~PFactory | ( | ) | [inline, protected] |
static void PFactory< _Abstract_T, _Key_T >::Register | ( | const _Key_T & | key, | |
WorkerBase * | worker | |||
) | [inline, static] |
static void PFactory< _Abstract_T, _Key_T >::Register | ( | const _Key_T & | key, | |
Abstract_T * | instance, | |||
bool | autoDeleteInstance = true | |||
) | [inline, static] |
static PBoolean PFactory< _Abstract_T, _Key_T >::RegisterAs | ( | const _Key_T & | newKey, | |
const _Key_T & | oldKey | |||
) | [inline, static] |
static void PFactory< _Abstract_T, _Key_T >::Unregister | ( | const _Key_T & | key | ) | [inline, static] |
static void PFactory< _Abstract_T, _Key_T >::UnregisterAll | ( | ) | [inline, static] |
static bool PFactory< _Abstract_T, _Key_T >::IsRegistered | ( | const _Key_T & | key | ) | [inline, static] |
static _Abstract_T* PFactory< _Abstract_T, _Key_T >::CreateInstance | ( | const _Key_T & | key | ) | [inline, static] |
static Derived_T* PFactory< _Abstract_T, _Key_T >::CreateInstanceAs | ( | const _Key_T & | key | ) | [inline, static] |
static PBoolean PFactory< _Abstract_T, _Key_T >::IsSingleton | ( | const _Key_T & | key | ) | [inline, static] |
static KeyList_T PFactory< _Abstract_T, _Key_T >::GetKeyList | ( | ) | [inline, static] |
static KeyMap_T& PFactory< _Abstract_T, _Key_T >::GetKeyMap | ( | ) | [inline, static] |
static PMutex& PFactory< _Abstract_T, _Key_T >::GetMutex | ( | ) | [inline, static] |
static PFactory& PFactory< _Abstract_T, _Key_T >::GetInstance | ( | ) | [inline, static, protected] |
void PFactory< _Abstract_T, _Key_T >::Register_Internal | ( | const _Key_T & | key, | |
WorkerBase * | worker | |||
) | [inline, protected] |
PBoolean PFactory< _Abstract_T, _Key_T >::RegisterAs_Internal | ( | const _Key_T & | newKey, | |
const _Key_T & | oldKey | |||
) | [inline, protected] |
void PFactory< _Abstract_T, _Key_T >::Unregister_Internal | ( | const _Key_T & | key | ) | [inline, protected] |
void PFactory< _Abstract_T, _Key_T >::UnregisterAll_Internal | ( | ) | [inline, protected] |
bool PFactory< _Abstract_T, _Key_T >::IsRegistered_Internal | ( | const _Key_T & | key | ) | [inline, protected] |
_Abstract_T* PFactory< _Abstract_T, _Key_T >::CreateInstance_Internal | ( | const _Key_T & | key | ) | [inline, protected] |
bool PFactory< _Abstract_T, _Key_T >::IsSingleton_Internal | ( | const _Key_T & | key | ) | [inline, protected] |
KeyList_T PFactory< _Abstract_T, _Key_T >::GetKeyList_Internal | ( | ) | [inline, protected] |
KeyMap_T PFactory< _Abstract_T, _Key_T >::keyMap [protected] |