Go to the documentation of this file.00001 #ifndef ACS_ALARMSOURCE_H
00002 #define ACS_ALARMSOURCE_H
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef __cplusplus
00026 #error This is a C++ include file and cannot be used from plain C
00027 #endif
00028
00029 #include <string>
00030
00031 #include <acscommonC.h>
00032 #include "Properties.h"
00033
00034 namespace acsalarm
00035 {
00089 class AlarmSource {
00090
00091 public:
00095 virtual ~AlarmSource() {}
00096
00107 virtual void raiseAlarm(
00108 std::string faultFamily,
00109 std::string faultMember,
00110 int faultCode)=0;
00111
00124 virtual void raiseAlarm(
00125 std::string faultFamily,
00126 std::string faultMember,
00127 int faultCode,
00128 Properties properties)=0;
00129
00140 virtual void clearAlarm(
00141 std::string faultFamily,
00142 std::string faultMember,
00143 int faultCode)=0;
00144
00165 virtual void setAlarm(
00166 std::string faultFamily,
00167 std::string faultMember,
00168 int faultCode,
00169 Properties alarmProps,
00170 bool active)=0;
00171
00190 virtual void setAlarm(
00191 std::string faultFamily,
00192 std::string faultMember,
00193 int faultCode,
00194 bool active)=0;
00195
00199 virtual void terminateAllAlarms()=0;
00200
00213 virtual void queueAlarms(ACS::TimeInterval time)=0;
00214
00226 virtual void queueAlarms()=0;
00227
00233 virtual void flushAlarms()=0;
00234
00244 virtual void disableAlarms()=0;
00245
00256 virtual void enableAlarms()=0;
00257
00261 virtual void start()=0;
00262
00266 virtual void tearDown()=0;
00267
00280 virtual void update(ACS::Time now) {}
00281 };
00282 }
00283
00284 #endif // ACS_ALARMSOURCE_H