The Gaudi Framework
master (01b473db)
DLLClassManager.h
Go to the documentation of this file.
1
/***********************************************************************************\
2
* (c) Copyright 1998-2025 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
#pragma once
12
13
// Include files
14
#include <
GaudiKernel/IClassManager.h
>
15
#include <
GaudiKernel/Kernel.h
>
16
#include <
GaudiKernel/SmartIF.h
>
17
#include <list>
18
#include <map>
19
#include <string>
20
21
// Forward declarations
22
class
ISvcLocator
;
23
class
ICnvManager;
24
class
IAlgManager
;
25
class
ISvcManager
;
26
class
IObjManager;
27
class
IMessageSvc
;
28
29
//
30
// ClassName: DLLClassManager
31
//
32
// Description: The ClassManager class is in charge of managing (i.e. loading and
33
// declaring dynamic libraries containing concrete class factories).
34
//
35
// Author: Pere Mato
36
//
37
class
DLLClassManager
:
public
implements
<IClassManager> {
38
public
:
39
// default creator
40
DLLClassManager
(
IInterface
* iface );
41
42
// implementation of IClassManager::loadModule
43
StatusCode
loadModule
(
const
std::string& module,
bool
fireIncident =
true
)
override
;
44
46
StatusCode
queryInterface
(
const
InterfaceID
& iid,
void
** pinterface )
override
;
47
void
const
*
i_cast
(
const
InterfaceID
& iid )
const 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
};
IMessageSvc
Definition:
IMessageSvc.h:34
DLLClassManager::queryInterface
StatusCode queryInterface(const InterfaceID &iid, void **pinterface) override
implementation of IInterface::queryInterface
Definition:
DLLClassManager.cpp:69
ISvcLocator
Definition:
ISvcLocator.h:42
DLLClassManager::loadModule
StatusCode loadModule(const std::string &module, bool fireIncident=true) override
Definition:
DLLClassManager.cpp:30
ISvcManager
Definition:
ISvcManager.h:30
DLLClassManager::m_svclocator
SmartIF< ISvcLocator > m_svclocator
Definition:
DLLClassManager.h:50
DLLClassManager
Definition:
DLLClassManager.h:37
IAlgManager
Definition:
IAlgManager.h:34
SmartIF.h
DLLClassManager::m_pOuter
SmartIF< IInterface > m_pOuter
Definition:
DLLClassManager.h:52
IClassManager.h
StatusCode
Definition:
StatusCode.h:64
DLLClassManager::m_msgsvc
SmartIF< IMessageSvc > m_msgsvc
Definition:
DLLClassManager.h:51
SmartIF< ISvcLocator >
DLLClassManager::DLLClassManager
DLLClassManager(IInterface *iface)
Definition:
DLLClassManager.cpp:25
implements
Base class used to implement the interfaces.
Definition:
implements.h:19
DLLClassManager::i_cast
void const * i_cast(const InterfaceID &iid) const override
Definition:
DLLClassManager.cpp:76
Kernel.h
IInterface
Definition:
IInterface.h:225
InterfaceID
Definition:
IInterface.h:38
GaudiCoreSvc
src
ApplicationMgr
DLLClassManager.h
Generated on Thu Sep 18 2025 16:37:13 for The Gaudi Framework by
1.8.18