All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DLLClassManager.h
Go to the documentation of this file.
1 // $Id: DLLClassManager.h,v 1.7 2006/12/11 10:37:02 leggett Exp $ //
2 
3 #ifndef GAUDI_DLLCLASSMANAGER_H
4 #define GAUDI_DLLCLASSMANAGER_H 1
5 
6 // Include files
7 #include "GaudiKernel/Kernel.h"
9 #include <string>
10 #include <list>
11 #include <map>
12 
13 // Forward declarations
14 class ISvcLocator;
15 class ICnvManager;
16 class IAlgManager;
17 class ISvcManager;
18 class IObjManager;
19 
20 //
21 // ClassName: DLLClassManager
22 //
23 // Description: The ClassManager class is in charge of managing (i.e. loading and
24 // declaring dynamic libraries containing concrete class factories).
25 //
26 // Author: Pere Mato
27 //
28 class DLLClassManager : public implements1<IClassManager> {
29 public:
30  // default creator
31  DLLClassManager( IInterface* iface );
32  // virtual destructor
33  virtual ~DLLClassManager();
34 
35  // implementation of IClassManager::loadModule
36  virtual StatusCode loadModule( const std::string& module, bool fireIncident=true );
37 
39  virtual StatusCode queryInterface(const InterfaceID& iid, void** pinterface);
40 
41 private:
42  SmartIF<ISvcLocator> m_svclocator; // Service locator reference
43  //SmartIF<IAlgManager> m_algmanager; // Algorithm manager reference
44  //SmartIF<ISvcManager> m_svcmanager; // Service manager reference
45  //SmartIF<ICnvManager> m_cnvmanager; // Converter manager reference
46  //SmartIF<IObjManager> m_objmanager; // Manager reference for factories not being algs, cnvs or svcs
47  SmartIF<IMessageSvc> m_msgsvc; // Message Service reference
48  SmartIF<IInterface> m_pOuter; // Interface hub reference (ApplicationMgr)
49 };
50 #endif // GAUDI_DLLCLASSMANAGER_H
51 
52 
The ISvcLocator is the interface implemented by the Service Factory in the Application Manager to loc...
Definition: ISvcLocator.h:26
virtual ~DLLClassManager()
The ISvcManager is the interface implemented by the Service Factory in the Application Manager to sup...
Definition: ISvcManager.h:29
The IAlgManager is the interface implemented by the Algorithm Factory in the Application Manager to s...
Definition: IAlgManager.h:28
virtual StatusCode queryInterface(const InterfaceID &iid, void **pinterface)
implementation of IInterface::queryInterface
Gaudi::InterfaceId< IInterface, 0, 0 > iid
Interface ID.
Definition: IInterface.h:164
Base class used to implement the interfaces.
Definition: implements.h:133
Interface ID class.
Definition: IInterface.h:55
SmartIF< IMessageSvc > m_msgsvc
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:30
Definition of the basic interface.
Definition: IInterface.h:160
DLLClassManager(IInterface *iface)
SmartIF< ISvcLocator > m_svclocator
SmartIF< IInterface > m_pOuter
virtual StatusCode loadModule(const std::string &module, bool fireIncident=true)
Declare a sharable library to be used for creating instances of a given algorithm type...