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 {
00082 class AlarmSource {
00083
00084 public:
00088 virtual ~AlarmSource() {}
00089
00100 virtual void raiseAlarm(
00101 std::string faultFamily,
00102 std::string faultMember,
00103 int faultCode)=0;
00104
00117 virtual void raiseAlarm(
00118 std::string faultFamily,
00119 std::string faultMember,
00120 int faultCode,
00121 Properties properties)=0;
00122
00133 virtual void clearAlarm(
00134 std::string faultFamily,
00135 std::string faultMember,
00136 int faultCode)=0;
00137
00158 virtual void setAlarm(
00159 std::string faultFamily,
00160 std::string faultMember,
00161 int faultCode,
00162 Properties alarmProps,
00163 bool active)=0;
00164
00183 virtual void setAlarm(
00184 std::string faultFamily,
00185 std::string faultMember,
00186 int faultCode,
00187 bool active)=0;
00188
00192 virtual void terminateAllAlarms()=0;
00193
00205 virtual void queueAlarms(ACS::TimeInterval time)=0;
00206
00218 virtual void queueAlarms()=0;
00219
00225 virtual void flushAlarms()=0;
00226
00236 virtual void disableAlarms()=0;
00237
00248 virtual void enableAlarms()=0;
00249
00253 virtual void start()=0;
00254
00258 virtual void tearDown()=0;
00259 };
00260 }
00261
00262 #endif // ACS_ALARMSOURCE_H