00001 #ifndef BACIALARMSYSTEMMONITORBOOLEANSEQ_H_ 00002 #define BACIALARMSYSTEMMONITORBOOLEANSEQ_H_ 00003 00004 #ifndef __cplusplus 00005 #error This is a C++ include file and cannot be used from plain C 00006 #endif 00007 00008 #include "baciAlarmSystemMonitor_T.h" 00009 #include "baciRObooleanSeq.h" 00010 #include <vector> 00011 00012 namespace baci 00013 { 00014 00015 typedef std::vector<int32_t> AlarmsRaisedVec; 00016 00020 class baci_EXPORT AlarmSystemMonitorBooleanSeq : public AlarmSystemMonitor<RObooleanSeq> 00021 { 00022 public: 00023 00024 AlarmSystemMonitorBooleanSeq(RObooleanSeq* property, EventDispatcher * eventDispatcher); 00025 00026 virtual ~AlarmSystemMonitorBooleanSeq(); 00027 00028 virtual void check(BACIValue &val, 00029 const ACSErr::Completion & c, 00030 const ACS::CBDescOut & desc ); 00031 00032 private: 00033 00034 static const bool ENABLE = true; 00035 static const bool DISABLE = false; 00036 static const int32_t ALARM_NOT_RAISED = 0; 00037 static const int32_t ALARM_RAISED = 1; 00038 00039 AlarmsRaisedVec alarmsRaised_m; 00040 00044 void operator=(const AlarmSystemMonitorBooleanSeq&); 00045 00049 AlarmSystemMonitorBooleanSeq(const AlarmSystemMonitorBooleanSeq&); 00050 00054 void updateAlarm(int32_t pos,bool enable); 00055 00056 00057 };//class AlarmSystemMonitorBooleanSeq 00058 00059 }//namespace baci 00060 00061 #endif /*BACIALARMSYSTEMBOOLEANSEQ_H_*/