IIncidentSvc.h
Go to the documentation of this file.
1 #ifndef INTERFACES_IINCIDENTSVC_H
2 #define INTERFACES_IINCIDENTSVC_H
3 
4 // Include Files
6 #include <string>
7 #include <vector>
8 
9 // Forward declarations
10 class IIncidentListener;
11 class Incident;
12 
21 class GAUDI_API IIncidentSvc: virtual public IInterface {
22 public:
25 
31  virtual void addListener(IIncidentListener* lis,
32  const std::string& type = "",
33  long priority = 0,
34  bool rethrow = false,
35  bool singleShot = false ) = 0;
40  virtual void removeListener(IIncidentListener* lis,
41  const std::string& type = "" ) = 0;
42 
43  //@TODO: return vector by value instead...
44  virtual void getListeners(std::vector<IIncidentListener*>& lis,
45  const std::string& type = "") const = 0;
46 
50  virtual void fireIncident( const Incident& incident ) = 0;
51 
52 };
53 
54 #endif // GAUDIKERNEL_IINCIDENTSVC_H
STL class.
string type
Definition: gaudirun.py:151
The interface implemented by any class wanting to listen to Incidents.
Definition of the basic interface.
Definition: IInterface.h:234
#define DeclareInterfaceID(iface, major, minor)
Macro to declare the interface ID when using the new mechanism of extending and implementing interfac...
Definition: IInterface.h:14
STL class.
Base class for all Incidents (computing events).
Definition: Incident.h:17
#define GAUDI_API
Definition: Kernel.h:107
The interface implemented by the IncidentSvc service.
Definition: IIncidentSvc.h:21