The Gaudi Framework
master (bdbe7744)
Toggle main menu visibility
Loading...
Searching...
No Matches
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
45
// Allow delegation of interfaces implementations
46
void
const
*
i_cast
(
const
InterfaceID
& iid )
const override
;
47
48
private
:
49
SmartIF<ISvcLocator>
m_svclocator
;
// Service locator reference
50
SmartIF<IMessageSvc>
m_msgsvc
;
// Message Service reference
51
SmartIF<IInterface>
m_pOuter
;
// Interface hub reference (ApplicationMgr)
52
};
IClassManager.h
Kernel.h
SmartIF.h
DLLClassManager::m_svclocator
SmartIF< ISvcLocator > m_svclocator
Definition
DLLClassManager.h:49
DLLClassManager::i_cast
void const * i_cast(const InterfaceID &iid) const override
Definition
DLLClassManager.cpp:69
DLLClassManager::loadModule
StatusCode loadModule(const std::string &module, bool fireIncident=true) override
Definition
DLLClassManager.cpp:30
DLLClassManager::DLLClassManager
DLLClassManager(IInterface *iface)
Definition
DLLClassManager.cpp:25
DLLClassManager::m_pOuter
SmartIF< IInterface > m_pOuter
Definition
DLLClassManager.h:51
DLLClassManager::m_msgsvc
SmartIF< IMessageSvc > m_msgsvc
Definition
DLLClassManager.h:50
IAlgManager
The IAlgManager is the interface implemented by the Algorithm Factory in the Application Manager to s...
Definition
IAlgManager.h:34
IInterface
Definition of the basic interface.
Definition
IInterface.h:225
IMessageSvc
The IMessage is the interface implemented by the message service.
Definition
IMessageSvc.h:34
ISvcLocator
The ISvcLocator is the interface implemented by the Service Factory in the Application Manager to loc...
Definition
ISvcLocator.h:42
ISvcManager
The ISvcManager is the interface implemented by the Service Factory in the Application Manager to sup...
Definition
ISvcManager.h:30
InterfaceID
Interface ID class.
Definition
IInterface.h:38
SmartIF
Small smart pointer class with automatic reference counting for IInterface.
Definition
SmartIF.h:28
StatusCode
This class is used for returning status codes from appropriate routines.
Definition
StatusCode.h:64
implements< IClassManager >::implements
implements()=default
GaudiCoreSvc
src
ApplicationMgr
DLLClassManager.h
Generated on
for The Gaudi Framework by
1.17.0