All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
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"
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 
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:30
SmartIF< IMessageSvc > m_msgsvc
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:26
Definition of the basic interface.
Definition: IInterface.h:234
~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