emcObjectManagerRegister Class Reference
[DataManager]

#include <emcObjectManagerRegister.h>

List of all members.


Detailed Description

(Singleton) Registry to keep track of all the DataManager plug-ins.

Author:
Laurent Aphecetche

Definition at line 17 of file emcObjectManagerRegister.h.

Public Member Functions

virtual ~emcObjectManagerRegister ()
 dtor.
virtual void AddObjectManager (emcObjectManager *)
 Register an ObjectManager.
virtual void RemoveObjectManager (emcObjectManager *)
 Remove an ObjectManager from the registry.
virtual emcObjectManagerGetObjectManager (const char *)
 Get an ObjectManager by name.
virtual const emcObjectManagerMapGetObjectManagerMap (void)
 FIXME we should not return the map but provide couple of method to iterate over the registered ObjectManager instead, or have an external iterator ?

Static Public Member Functions

static emcObjectManagerRegisterGetInstance (void)
 Get THE instance of this class.

Private Member Functions

 emcObjectManagerRegister ()
 ctor not to be used as this is a singleton.

Private Attributes

emcObjectManagerMap fMap

Static Private Attributes

static emcObjectManagerRegisterfInstance = 0
static int fCount = 0


Constructor & Destructor Documentation

emcObjectManagerRegister::emcObjectManagerRegister  )  [private]
 

ctor not to be used as this is a singleton.

Definition at line 16 of file emcObjectManagerRegister.C.

Referenced by GetInstance().

emcObjectManagerRegister::~emcObjectManagerRegister  )  [virtual]
 

dtor.

Definition at line 25 of file emcObjectManagerRegister.C.

References fCount, and fInstance.


Member Function Documentation

void emcObjectManagerRegister::AddObjectManager emcObjectManager  )  [virtual]
 

Register an ObjectManager.

Definition at line 32 of file emcObjectManagerRegister.C.

References fMap, emcNamed::GetName(), and name.

Referenced by emcObjectManager::emcObjectManager().

emcObjectManagerRegister * emcObjectManagerRegister::GetInstance void   )  [static]
 

Get THE instance of this class.

Definition at line 44 of file emcObjectManagerRegister.C.

References emcObjectManagerRegister(), fCount, and fInstance.

Referenced by emcDataManager::Collect(), emcObjectManager::emcObjectManager(), emcOMHelper::findOM(), operator<<(), emcDataManager::Read(), emcDataManager::ReadPreviousVersion(), emcDataManager::Reset(), emcDataManager::Write(), and emcObjectManager::~emcObjectManager().

emcObjectManager * emcObjectManagerRegister::GetObjectManager const char *   )  [virtual]
 

Get an ObjectManager by name.

Definition at line 54 of file emcObjectManagerRegister.C.

References fMap.

virtual const emcObjectManagerMap& emcObjectManagerRegister::GetObjectManagerMap void   )  [inline, virtual]
 

FIXME we should not return the map but provide couple of method to iterate over the registered ObjectManager instead, or have an external iterator ?

Definition at line 50 of file emcObjectManagerRegister.h.

References fMap.

Referenced by emcDataManager::Collect(), emcOMHelper::findOM(), operator<<(), emcDataManager::Read(), emcDataManager::ReadPreviousVersion(), emcDataManager::Reset(), and emcDataManager::Write().

void emcObjectManagerRegister::RemoveObjectManager emcObjectManager  )  [virtual]
 

Remove an ObjectManager from the registry.

Definition at line 70 of file emcObjectManagerRegister.C.

References fMap.

Referenced by emcObjectManager::~emcObjectManager().


Member Data Documentation

int emcObjectManagerRegister::fCount = 0 [static, private]
 

Definition at line 24 of file emcObjectManagerRegister.h.

Referenced by GetInstance(), and ~emcObjectManagerRegister().

emcObjectManagerRegister * emcObjectManagerRegister::fInstance = 0 [static, private]
 

Definition at line 23 of file emcObjectManagerRegister.h.

Referenced by GetInstance(), and ~emcObjectManagerRegister().

emcObjectManagerMap emcObjectManagerRegister::fMap [private]
 

Definition at line 20 of file emcObjectManagerRegister.h.

Referenced by AddObjectManager(), GetObjectManager(), GetObjectManagerMap(), and RemoveObjectManager().


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