![]() |
The Gaudi Framework
v27r0
|
Default implementation of the IIncidentSvc interface. More...
#include <src/IncidentSvc/IncidentSvc.h>
Classes | |
struct | Listener |
Public Member Functions | |
StatusCode | initialize () override |
StatusCode | finalize () override |
void | addListener (IIncidentListener *lis, const std::string &type="", long priority=0, bool rethrow=false, bool singleShot=false) override |
void | removeListener (IIncidentListener *l, const std::string &type="") override |
void | fireIncident (const Incident &incident) override |
void | getListeners (std::vector< IIncidentListener * > &lis, const std::string &type="") const override |
IncidentSvc (const std::string &name, ISvcLocator *svc) | |
~IncidentSvc () override | |
![]() | |
void * | i_cast (const InterfaceID &tid) const override |
Implementation of IInterface::i_cast. More... | |
StatusCode | queryInterface (const InterfaceID &ti, void **pp) override |
Implementation of IInterface::queryInterface. More... | |
std::vector< std::string > | getInterfaceNames () const override |
Implementation of IInterface::getInterfaceNames. More... | |
~extends () override=default | |
Virtual destructor. More... | |
void * | i_cast (const InterfaceID &tid) const override |
Implementation of IInterface::i_cast. More... | |
StatusCode | queryInterface (const InterfaceID &ti, void **pp) override |
Implementation of IInterface::queryInterface. More... | |
std::vector< std::string > | getInterfaceNames () const override |
Implementation of IInterface::getInterfaceNames. More... | |
~extends () override=default | |
Virtual destructor. More... | |
![]() | |
~extend_interfaces () override=default | |
Virtual destructor. More... | |
~extend_interfaces () override=default | |
Virtual destructor. More... | |
Private Types | |
typedef std::vector< Listener > | ListenerList |
typedef GaudiUtils::HashMap< Gaudi::StringKey, std::unique_ptr< ListenerList > > | ListenerMap |
Private Member Functions | |
ListenerMap::iterator | removeListenerFromList (ListenerMap::iterator, IIncidentListener *item, bool scheduleRemoval) |
void | i_fireIncident (const Incident &incident, const std::string &type) |
Internal function to allow incidents listening to all events. More... | |
Private Attributes | |
ListenerMap | m_listenerMap |
List of auditor names. More... | |
const std::string * | m_currentIncidentType = nullptr |
Incident being fired. More... | |
std::recursive_mutex | m_listenerMapMutex |
Mutex to synchronize access to m_listenerMap. More... | |
ChronoEntity | m_timer |
timer & it's lock More... | |
bool | m_timerLock = false |
Additional Inherited Members | |
![]() | |
using | base_class = extends |
Typedef to this class. More... | |
using | extend_interfaces_base = extend_interfaces< Interfaces...> |
Typedef to the base of this class. More... | |
using | base_class = extends |
Typedef to this class. More... | |
using | extend_interfaces_base = extend_interfaces< Interfaces...> |
Typedef to the base of this class. More... | |
![]() | |
using | ext_iids = typename Gaudi::interface_list_cat< typename Interfaces::ext_iids...>::type |
take union of the ext_iids of all Interfaces... More... | |
using | ext_iids = typename Gaudi::interface_list_cat< typename Interfaces::ext_iids...>::type |
take union of the ext_iids of all Interfaces... More... | |
Default implementation of the IIncidentSvc interface.
This implementation is thread-safe with the following features:
Definition at line 33 of file IncidentSvc.h.
|
private |
Definition at line 49 of file IncidentSvc.h.
|
private |
Definition at line 50 of file IncidentSvc.h.
IncidentSvc::IncidentSvc | ( | const std::string & | name, |
ISvcLocator * | svc | ||
) |
Definition at line 51 of file IncidentSvc.cpp.
|
override |
Definition at line 55 of file IncidentSvc.cpp.
|
override |
Definition at line 94 of file IncidentSvc.cpp.
|
override |
Definition at line 80 of file IncidentSvc.cpp.
|
override |
Definition at line 246 of file IncidentSvc.cpp.
|
override |
Definition at line 261 of file IncidentSvc.cpp.
|
private |
Internal function to allow incidents listening to all events.
Definition at line 174 of file IncidentSvc.cpp.
|
override |
Definition at line 62 of file IncidentSvc.cpp.
|
override |
Definition at line 148 of file IncidentSvc.cpp.
|
private |
Definition at line 124 of file IncidentSvc.cpp.
|
private |
Incident being fired.
It is used to know if we can safely remove a listener or we have to schedule its removal for later.
Definition at line 90 of file IncidentSvc.h.
|
private |
List of auditor names.
Definition at line 86 of file IncidentSvc.h.
|
mutableprivate |
Mutex to synchronize access to m_listenerMap.
Definition at line 93 of file IncidentSvc.h.
|
mutableprivate |
timer & it's lock
Definition at line 96 of file IncidentSvc.h.
|
mutableprivate |
Definition at line 97 of file IncidentSvc.h.