Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members  

ObjectManager.h

Go to the documentation of this file.
00001 // $Header: /nfs/slac/g/glast/ground/cvs/GaudiSvc/src/ApplicationMgr/ObjectManager.h,v 1.1.1.2 2001/04/18 18:32:48 tlindner Exp $
00002 #ifndef GAUDISVC_OBJECTMANAGER_H
00003 #define GAUDISVC_OBJECTMANAGER_H
00004 
00005 #include "GaudiKernel/IObjManager.h"
00006 
00007 // Forward class declaration
00008 class ISvcLocator;
00009 class IMessageSvc;
00010 
00020 class ObjectManager : virtual public  IObjManager  {
00021   unsigned long m_refcount;    
00022   ISvcLocator*  m_svclocator;  
00023   IMessageSvc*  m_msgsvc;      
00024   Container*    m_objects;     
00025 public:
00026   // default creator
00027   ObjectManager( ISvcLocator* svclocator );
00028   // virtual destructor
00029   virtual ~ObjectManager();
00030 
00031   // implmentation of IInterface::addRef
00032   virtual unsigned long addRef();
00033   // implmentation of IInterface::release
00034   virtual unsigned long release();
00035   // implementation of IInterface::queryInterface
00036   virtual StatusCode queryInterface(const IID& iid, void** pinterface);
00037   // Declare an abastract Converter factory to be used to create instances of a given Converter type
00038   virtual StatusCode declareObjFactory( const IFactory& factory      // Reference to the abastract factory
00039                                    );
00040   // Check the existance of an Converter with a given name in the list of known Converters
00041   virtual bool existsObjFactory(const std::string& objtype             // Factory's object type
00042                             ) const;
00043   // Check the existance of an Converter with a given name in the list of known Converters
00044   virtual const IFactory* objFactory(const std::string& objtype             // Factory's object type
00045                                  ) const;
00046   // Allow to iterate through all entries of the Converter manager
00047   // Start of iteration (CONST)
00048   virtual ObjIterator objBegin()     {
00049     return m_objects->begin();
00050   }
00051   // End of iteration (CONST)
00052   virtual ObjIterator objEnd()     {
00053     return m_objects->end();
00054   }
00055 };
00056 
00057 
00058 #endif  // GAUDI_APPLICATIONMGR_OBJECTMANAGER_H

Generated at Wed Nov 21 12:22:30 2001 by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000