The Gaudi Framework  v29r0 (ff2e7097)
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 
19 //
20 // ClassName: DLLClassManager
21 //
22 // Description: The ClassManager class is in charge of managing (i.e. loading and
23 // declaring dynamic libraries containing concrete class factories).
24 //
25 // Author: Pere Mato
26 //
27 class DLLClassManager : public implements<IClassManager>
28 {
29 public:
30  // default creator
31  DLLClassManager( IInterface* iface );
32  // virtual destructor
33  ~DLLClassManager() override = default;
34 
35  // implementation of IClassManager::loadModule
36  StatusCode loadModule( const std::string& module, bool fireIncident = true ) override;
37 
39  StatusCode queryInterface( const InterfaceID& iid, void** pinterface ) override;
40 
41 private:
42  SmartIF<ISvcLocator> m_svclocator; // Service locator reference
43  SmartIF<IMessageSvc> m_msgsvc; // Message Service reference
44  SmartIF<IInterface> m_pOuter; // Interface hub reference (ApplicationMgr)
45 };
46 #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:28
Definition of the basic interface.
Definition: IInterface.h:277
~DLLClassManager() override=default
StatusCode queryInterface(const InterfaceID &iid, void **pinterface) override
implementation of IInterface::queryInterface
DLLClassManager(IInterface *iface)
SmartIF< ISvcLocator > m_svclocator
SmartIF< IInterface > m_pOuter