The Gaudi Framework
master (37c0b60a)
DLLClassManager.h
Go to the documentation of this file.
1
/***********************************************************************************\
2
* (c) Copyright 1998-2024 CERN for the benefit of the LHCb and ATLAS collaborations *
3
* *
4
* This software is distributed under the terms of the Apache version 2 licence, *
5
* copied verbatim in the file "LICENSE". *
6
* *
7
* In applying this licence, CERN does not waive the privileges and immunities *
8
* granted to it by virtue of its status as an Intergovernmental Organization *
9
* or submit itself to any jurisdiction. *
10
\***********************************************************************************/
11
#ifndef GAUDI_DLLCLASSMANAGER_H
12
#define GAUDI_DLLCLASSMANAGER_H 1
13
14
// Include files
15
#include <
GaudiKernel/IClassManager.h
>
16
#include <
GaudiKernel/Kernel.h
>
17
#include <
GaudiKernel/SmartIF.h
>
18
#include <list>
19
#include <map>
20
#include <string>
21
22
// Forward declarations
23
class
ISvcLocator
;
24
class
ICnvManager;
25
class
IAlgManager
;
26
class
ISvcManager
;
27
class
IObjManager;
28
class
IMessageSvc
;
29
30
//
31
// ClassName: DLLClassManager
32
//
33
// Description: The ClassManager class is in charge of managing (i.e. loading and
34
// declaring dynamic libraries containing concrete class factories).
35
//
36
// Author: Pere Mato
37
//
38
class
DLLClassManager
:
public
implements
<IClassManager> {
39
public
:
40
// default creator
41
DLLClassManager
(
IInterface
* iface );
42
43
// implementation of IClassManager::loadModule
44
StatusCode
loadModule
(
const
std::string
& module,
bool
fireIncident =
true
)
override
;
45
47
StatusCode
queryInterface
(
const
InterfaceID
& iid,
void
** pinterface )
override
;
48
49
private
:
50
SmartIF<ISvcLocator>
m_svclocator
;
// Service locator reference
51
SmartIF<IMessageSvc>
m_msgsvc
;
// Message Service reference
52
SmartIF<IInterface>
m_pOuter
;
// Interface hub reference (ApplicationMgr)
53
};
54
#endif // GAUDI_DLLCLASSMANAGER_H
std::string
STL class.
IMessageSvc
Definition:
IMessageSvc.h:47
DLLClassManager::queryInterface
StatusCode queryInterface(const InterfaceID &iid, void **pinterface) override
implementation of IInterface::queryInterface
Definition:
DLLClassManager.cpp:80
ISvcLocator
Definition:
ISvcLocator.h:46
DLLClassManager::loadModule
StatusCode loadModule(const std::string &module, bool fireIncident=true) override
Definition:
DLLClassManager.cpp:40
ISvcManager
Definition:
ISvcManager.h:38
DLLClassManager::m_svclocator
SmartIF< ISvcLocator > m_svclocator
Definition:
DLLClassManager.h:50
DLLClassManager
Definition:
DLLClassManager.h:38
IAlgManager
Definition:
IAlgManager.h:37
SmartIF.h
DLLClassManager::m_pOuter
SmartIF< IInterface > m_pOuter
Definition:
DLLClassManager.h:52
IClassManager.h
StatusCode
Definition:
StatusCode.h:65
DLLClassManager::m_msgsvc
SmartIF< IMessageSvc > m_msgsvc
Definition:
DLLClassManager.h:51
SmartIF< ISvcLocator >
DLLClassManager::DLLClassManager
DLLClassManager(IInterface *iface)
Definition:
DLLClassManager.cpp:30
implements
Base class used to implement the interfaces.
Definition:
implements.h:19
Kernel.h
IInterface
Definition:
IInterface.h:239
InterfaceID
Definition:
IInterface.h:39
GaudiCoreSvc
src
ApplicationMgr
DLLClassManager.h
Generated on Thu Dec 19 2024 15:34:57 for The Gaudi Framework by
1.8.18