00001 // $Header: /local/reps/Gaudi/GaudiKernel/GaudiKernel/IIncidentSvc.h,v 1.5 2007/05/24 17:04:41 marcocle Exp $ 00002 #ifndef INTERFACES_IINCIDENTSVC_H 00003 #define INTERFACES_IINCIDENTSVC_H 00004 00005 // Include Files 00006 #include "GaudiKernel/IInterface.h" 00007 #include <string> 00008 00009 // Forward declarations 00010 class IIncidentListener; 00011 class Incident; 00012 00013 // Declaration of the interface ID ( interface id, major version, minor version) 00014 static const InterfaceID IID_IIncidentSvc(310, 1 , 0); 00015 00024 class IIncidentSvc : virtual public IInterface { 00025 public: 00026 00028 static const InterfaceID& interfaceID() { return IID_IIncidentSvc; } 00034 virtual void addListener(IIncidentListener* lis, 00035 const std::string& type = "", 00036 long priority = 0, 00037 bool rethrow = false, 00038 bool singleShot = false ) = 0; 00043 virtual void removeListener(IIncidentListener* lis, 00044 const std::string& type = "" ) = 0; 00045 00049 virtual void fireIncident( const Incident& incident ) = 0; 00050 00051 }; 00052 00053 #endif // GAUDIKERNEL_IINCIDENTSVC_H