|
Gaudi Framework, version v21r9 |
| Home | Generated: 3 May 2010 |
00001 /* 00002 * StalledEventMonitor.h 00003 * 00004 * Created on: Apr 19, 2010 00005 * Author: Marco Clemencic 00006 */ 00007 00008 #ifndef STALLEDEVENTMONITOR_H_ 00009 #define STALLEDEVENTMONITOR_H_ 00010 00011 // Include files 00012 #include "GaudiKernel/Service.h" 00013 #include "GaudiKernel/IIncidentListener.h" 00014 #include <memory> 00015 00016 // Forward declarations 00017 class WatchdogThread; 00018 class IIncidentSvc; 00019 00029 class StalledEventMonitor: public extends1<Service, IIncidentListener> { 00030 public: 00032 StalledEventMonitor(const std::string& name, ISvcLocator* svcLoc); 00033 00035 virtual ~StalledEventMonitor(); 00036 00039 virtual StatusCode initialize(); 00040 00042 virtual StatusCode start(); 00043 00045 virtual void handle(const Incident& /* incident */); 00046 00048 virtual StatusCode stop(); 00049 00051 virtual StatusCode finalize(); 00052 00053 private: 00055 unsigned int m_eventTimeout; 00056 00058 std::auto_ptr<WatchdogThread> m_watchdog; 00059 00061 SmartIF<IIncidentSvc> m_incidentSvc; 00062 00063 }; 00064 00065 #endif // STALLEDEVENTMONITOR_H_