![]() |
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 | |
Public Member Functions inherited from extends< BASE, Interfaces > | |
| 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... | |
Public Member Functions inherited from extend_interfaces< Interfaces...> | |
| ~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 | |
Public Types inherited from extends< BASE, Interfaces > | |
| 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... | |
Public Types inherited from extend_interfaces< Interfaces...> | |
| 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.