| The Gaudi Framework v27r1

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- File List
- File Members

DLLClassManager.h
Go to the documentation of this file.
1 #ifndef GAUDI_DLLCLASSMANAGER_H
2 #define GAUDI_DLLCLASSMANAGER_H 1
3
4 // Include files
5 #include "GaudiKernel/Kernel.h"
6 #include "GaudiKernel/IClassManager.h"
7 #include <string>
8 #include <list>
9 #include <map>
10
11 // Forward declarations
12 class ISvcLocator;
13 class ICnvManager;
14 class IAlgManager;
15 class ISvcManager;
16 class IObjManager;
17
18 //
19 // ClassName: DLLClassManager
20 //
21 // Description: The ClassManager class is in charge of managing (i.e. loading and
22 // declaring dynamic libraries containing concrete class factories).
23 //
24 // Author: Pere Mato
25 //
26 class DLLClassManager : public implements<IClassManager> {
27 public:
28 // default creator
29 DLLClassManager( IInterface* iface );
30 // virtual destructor
31 ~DLLClassManager() override = default;
32
33 // implementation of IClassManager::loadModule
34 StatusCode loadModule( const std::string& module, bool fireIncident=true ) override;
35
37 StatusCode queryInterface(const InterfaceID& iid, void** pinterface) override;
38
39 private:
40 SmartIF<ISvcLocator> m_svclocator; // Service locator reference
41 SmartIF<IMessageSvc> m_msgsvc; // Message Service reference
42 SmartIF<IInterface> m_pOuter; // Interface hub reference (ApplicationMgr)
43 };
44 #endif // GAUDI_DLLCLASSMANAGER_H
45
46
SmartIF< ISvcLocator >
Kernel.h
implements
Base class used to implement the interfaces.
Definition: implements.h:9
ISvcLocator
The ISvcLocator is the interface implemented by the Service Factory in the Application Manager to loc...
Definition: ISvcLocator.h:25
DLLClassManager::loadModule
StatusCode loadModule(const std::string &module, bool fireIncident=true) override
Definition: DLLClassManager.cpp:29
ISvcManager
The ISvcManager is the interface implemented by the Service Factory in the Application Manager to sup...
Definition: ISvcManager.h:28
IAlgManager
The IAlgManager is the interface implemented by the Algorithm Factory in the Application Manager to s...
Definition: IAlgManager.h:27
std::string
STL class.
InterfaceID
Interface ID class.
Definition: IInterface.h:30
DLLClassManager::m_msgsvc
SmartIF< IMessageSvc > m_msgsvc
Definition: DLLClassManager.h:41
StatusCode
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:26
IInterface
Definition of the basic interface.
Definition: IInterface.h:234
DLLClassManager
Definition: DLLClassManager.h:26
DLLClassManager::~DLLClassManager
~DLLClassManager() override=default
DLLClassManager::queryInterface
StatusCode queryInterface(const InterfaceID &iid, void **pinterface) override
implementation of IInterface::queryInterface
Definition: DLLClassManager.cpp:78
DLLClassManager::DLLClassManager
DLLClassManager(IInterface *iface)
Definition: DLLClassManager.cpp:19
DLLClassManager::m_svclocator
SmartIF< ISvcLocator > m_svclocator
Definition: DLLClassManager.h:40
DLLClassManager::m_pOuter
SmartIF< IInterface > m_pOuter
Definition: DLLClassManager.h:42
IClassManager.h