|
Gaudi Framework, version v23r2 |
| Home | Generated: Thu Jun 28 2012 |
00001 // $Id: DLLClassManager.h,v 1.7 2006/12/11 10:37:02 leggett Exp $ // 00002 00003 #ifndef GAUDI_DLLCLASSMANAGER_H 00004 #define GAUDI_DLLCLASSMANAGER_H 1 00005 00006 // Include files 00007 #include "GaudiKernel/Kernel.h" 00008 #include "GaudiKernel/IClassManager.h" 00009 #include <string> 00010 #include <list> 00011 #include <map> 00012 00013 // Forward declarations 00014 class ISvcLocator; 00015 class ICnvManager; 00016 class IAlgManager; 00017 class ISvcManager; 00018 class IObjManager; 00019 00020 // 00021 // ClassName: DLLClassManager 00022 // 00023 // Description: The ClassManager class is in charge of managing (i.e. loading and 00024 // declaring dynamic libraries containing concrete class factories). 00025 // 00026 // Author: Pere Mato 00027 // 00028 class DLLClassManager : public implements1<IClassManager> { 00029 public: 00030 // default creator 00031 DLLClassManager( IInterface* iface ); 00032 // virtual destructor 00033 virtual ~DLLClassManager(); 00034 00035 // implementation of IClassManager::loadModule 00036 virtual StatusCode loadModule( const std::string& module, bool fireIncident=true ); 00037 00039 virtual StatusCode queryInterface(const InterfaceID& iid, void** pinterface); 00040 00041 private: 00042 SmartIF<ISvcLocator> m_svclocator; // Service locator reference 00043 //SmartIF<IAlgManager> m_algmanager; // Algorithm manager reference 00044 //SmartIF<ISvcManager> m_svcmanager; // Service manager reference 00045 //SmartIF<ICnvManager> m_cnvmanager; // Converter manager reference 00046 //SmartIF<IObjManager> m_objmanager; // Manager reference for factories not being algs, cnvs or svcs 00047 SmartIF<IMessageSvc> m_msgsvc; // Message Service reference 00048 SmartIF<IInterface> m_pOuter; // Interface hub reference (ApplicationMgr) 00049 }; 00050 #endif // GAUDI_DLLCLASSMANAGER_H 00051 00052