| # Gaudi Framework, version v21r7p1 |

Home |  | Generated: 15 Feb 2010

# DLLClassManager.h

Go to the documentation of this file.

    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