CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
AlarmHandler.h
Go to the documentation of this file.
1 // $Id: AlarmHandler.h,v 1.8 2011/03/07 15:31:31 mommsen Exp $
3 
4 #ifndef EventFilter_StorageManager_AlarmHandler_h
5 #define EventFilter_StorageManager_AlarmHandler_h
6 
7 #include <string>
8 
9 #include "boost/shared_ptr.hpp"
10 #include "boost/thread/mutex.hpp"
11 
12 #include "xcept/Exception.h"
13 #include "xdaq/Application.h"
14 #include "xdata/InfoSpace.h"
15 
16 
17 namespace stor {
18 
28  {
29 
30  public:
31 
33 
35  explicit AlarmHandler(xdaq::Application*);
36 
37  virtual ~AlarmHandler() {};
38 
42  virtual void notifySentinel
43  (
44  const ALARM_LEVEL,
46  );
47 
51  virtual void raiseAlarm
52  (
53  const std::string name,
54  const ALARM_LEVEL,
56  );
57 
61  virtual void revokeAlarm(const std::string name);
62 
66  void clearAllAlarms();
67 
71  Logger& getLogger() const
72  { return app_->getApplicationLogger(); }
73 
74 
75  private:
76 
77  bool raiseAlarm
78  (
79  const std::string name,
80  const std::string level,
82  );
83 
84  xdaq::Application* app_;
85  xdata::InfoSpace* alarmInfoSpace_;
86 
88 
89  };
90 
91  typedef boost::shared_ptr<AlarmHandler> AlarmHandlerPtr;
92 
93 } // namespace stor
94 
95 #endif // EventFilter_StorageManager_AlarmHandler_h
96 
97 
virtual void notifySentinel(const ALARM_LEVEL, xcept::Exception &)
Definition: AlarmHandler.cc:71
static boost::mutex mutex
Definition: LHEProxy.cc:11
xdaq::Application * app_
Definition: AlarmHandler.h:84
xdata::InfoSpace * alarmInfoSpace_
Definition: AlarmHandler.h:85
virtual void raiseAlarm(const std::string name, const ALARM_LEVEL, xcept::Exception &)
Definition: AlarmHandler.cc:32
virtual void revokeAlarm(const std::string name)
boost::shared_ptr< AlarmHandler > AlarmHandlerPtr
Definition: AlarmHandler.h:91
Logger & getLogger() const
Definition: AlarmHandler.h:71
virtual ~AlarmHandler()
Definition: AlarmHandler.h:37
boost::mutex mutex_
Definition: AlarmHandler.h:87
tuple level
Definition: testEve_cfg.py:34