The Gaudi Framework  v30r3 (a5ef0a68)
DLLClassManager.h
Go to the documentation of this file.
1 #ifndef GAUDI_DLLCLASSMANAGER_H
2 #define GAUDI_DLLCLASSMANAGER_H 1
3 
4 // Include files
6 #include "GaudiKernel/Kernel.h"
7 #include "GaudiKernel/SmartIF.h"
8 #include <list>
9 #include <map>
10 #include <string>
11 
12 // Forward declarations
13 class ISvcLocator;
14 class ICnvManager;
15 class IAlgManager;
16 class ISvcManager;
17 class IObjManager;
18 class IMessageSvc;
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 implements<IClassManager>
29 {
30 public:
31  // default creator
32  DLLClassManager( IInterface* iface );
33 
34  // implementation of IClassManager::loadModule
35  StatusCode loadModule( const std::string& module, bool fireIncident = true ) override;
36 
38  StatusCode queryInterface( const InterfaceID& iid, void** pinterface ) override;
39 
40 private:
41  SmartIF<ISvcLocator> m_svclocator; // Service locator reference
42  SmartIF<IMessageSvc> m_msgsvc; // Message Service reference
43  SmartIF<IInterface> m_pOuter; // Interface hub reference (ApplicationMgr)
44 };
45 #endif // GAUDI_DLLCLASSMANAGER_H
Base class used to implement the interfaces.
Definition: implements.h:9
The ISvcLocator is the interface implemented by the Service Factory in the Application Manager to loc...
Definition: ISvcLocator.h:25
StatusCode loadModule(const std::string &module, bool fireIncident=true) override
The ISvcManager is the interface implemented by the Service Factory in the Application Manager to sup...
Definition: ISvcManager.h:28
The IAlgManager is the interface implemented by the Algorithm Factory in the Application Manager to s...
Definition: IAlgManager.h:27
STL class.
Interface ID class.
Definition: IInterface.h:29
SmartIF< IMessageSvc > m_msgsvc
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:51
Definition of the basic interface.
Definition: IInterface.h:277
The IMessage is the interface implemented by the message service.
Definition: IMessageSvc.h:38
StatusCode queryInterface(const InterfaceID &iid, void **pinterface) override
implementation of IInterface::queryInterface
DLLClassManager(IInterface *iface)
SmartIF< ISvcLocator > m_svclocator
SmartIF< IInterface > m_pOuter