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 emcObjectManager * GetObjectManager (const char *)
 Get an ObjectManager by name.
virtual const emcObjectManagerMap & GetObjectManagerMap (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 emcObjectManagerRegister * GetInstance (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 emcObjectManagerRegister * fInstance = 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: