Go to the documentation of this file.00001 #ifndef BACIALARMBOOLEANSEQ_H_
00002 #define BACIALARMBOOLEANSEQ_H_
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029 #ifndef __cplusplus
00030 #error This is a C++ include file and cannot be used from plain C
00031 #endif
00032
00033
00034 #include <baciEvent.h>
00035 #include <ACSErrTypeAlarm.h>
00036
00037 #include "baciAlarm_T.h"
00038 #include "baciRObooleanSeq.h"
00039
00040 #include <vector>
00041 #include <stdint.h>
00042
00043 namespace baci {
00044
00045
00046
00047
00048 class baci_EXPORT AlarmEventStrategyBooleanSeq
00049 : public AlarmEventStrategy<ACS::booleanSeq, RObooleanSeq, ACS::Alarmboolean>
00050 {
00051 public:
00052 AlarmEventStrategyBooleanSeq(RObooleanSeq * property, EventDispatcher * eventDispatcher);
00053
00054 AlarmEventStrategyBooleanSeq(Callback_ptr callback_p,
00055 const CBDescIn& descIn,
00056 const ACS::TimeInterval& interval,
00057 RObooleanSeq * property,
00058 EventDispatcher * eventDispatcher);
00059
00060 virtual void check(BACIValue &val,
00061 const ACSErr::Completion & c,
00062 const ACS::CBDescOut & desc);
00063
00064 private:
00065
00066 static const int32_t ALARM_NOT_RAISED = 0;
00067 static const int32_t ALARM_RAISED = 1;
00068
00069 std::vector<int32_t> alarmsRaised_m;
00070
00071 void checkItem(int32_t &alarmRaised, CORBA::Boolean value,
00072 const ACSErr::Completion & c, const ACS::CBDescOut & desc);
00073
00077 void operator=(const AlarmEventStrategyBooleanSeq&);
00078
00082 AlarmEventStrategyBooleanSeq(const AlarmEventStrategyBooleanSeq&);
00083 };
00084
00085 }
00086
00087 #endif