The Gaudi Framework  master (82fdf313)
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
15#include <GaudiKernel/Kernel.h>
16#include <GaudiKernel/SmartIF.h>
17#include <list>
18#include <map>
19#include <string>
20
21// Forward declarations
22class ISvcLocator;
23class ICnvManager;
24class IAlgManager;
25class ISvcManager;
26class IObjManager;
27class 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//
37class DLLClassManager : public implements<IClassManager> {
38public:
39 // default creator
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
49private:
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};
SmartIF< ISvcLocator > m_svclocator
void const * i_cast(const InterfaceID &iid) const override
StatusCode queryInterface(const InterfaceID &iid, void **pinterface) override
implementation of IInterface::queryInterface
StatusCode loadModule(const std::string &module, bool fireIncident=true) override
DLLClassManager(IInterface *iface)
SmartIF< IInterface > m_pOuter
SmartIF< IMessageSvc > m_msgsvc
The IAlgManager is the interface implemented by the Algorithm Factory in the Application Manager to s...
Definition IAlgManager.h:34
Definition of the basic interface.
Definition IInterface.h:225
The IMessage is the interface implemented by the message service.
Definition IMessageSvc.h:34
The ISvcLocator is the interface implemented by the Service Factory in the Application Manager to loc...
Definition ISvcLocator.h:42
The ISvcManager is the interface implemented by the Service Factory in the Application Manager to sup...
Definition ISvcManager.h:30
Interface ID class.
Definition IInterface.h:38
Small smart pointer class with automatic reference counting for IInterface.
Definition SmartIF.h:28
This class is used for returning status codes from appropriate routines.
Definition StatusCode.h:64