All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
IIncidentSvc.h
Go to the documentation of this file.
1 // $Header: /tmp/svngaudi/tmp.jEpFh25751/Gaudi/GaudiKernel/GaudiKernel/IIncidentSvc.h,v 1.5 2007/05/24 17:04:41 marcocle Exp $
2 #ifndef INTERFACES_IINCIDENTSVC_H
3 #define INTERFACES_IINCIDENTSVC_H
4 
5 // Include Files
7 #include <string>
8 #include <vector>
9 
10 // Forward declarations
11 class IIncidentListener;
12 class Incident;
13 
22 class GAUDI_API IIncidentSvc: virtual public IInterface {
23 public:
26 
32  virtual void addListener(IIncidentListener* lis,
33  const std::string& type = "",
34  long priority = 0,
35  bool rethrow = false,
36  bool singleShot = false ) = 0;
41  virtual void removeListener(IIncidentListener* lis,
42  const std::string& type = "" ) = 0;
43 
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
string type
Definition: gaudirun.py:126
The interface implemented by any class wanting to listen to Incidents.
Definition of the basic interface.
Definition: IInterface.h:160
#define DeclareInterfaceID(name, major, minor)
Macro to declare the interface ID when using the new mechanism of extending and implementing interfac...
Definition: IInterface.h:23
Base class for all Incidents (computing events).
Definition: Incident.h:16
#define GAUDI_API
Definition: Kernel.h:108
The interface implemented by the IncidentSvc service.
Definition: IIncidentSvc.h:22