00001
#ifndef BACIALARMSYSTEMMONITORPATTERN_H_
00002
#define BACIALARMSYSTEMMONITORPATTERN_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 "baciAlarmSystemMonitorDisc_T.h"
00009
#include "baciROpattern.h"
00010
00011
namespace baci
00012 {
00013
00014
class ROpatternImpl;
00018 class baci_EXPORT AlarmSystemMonitorPattern :
public AlarmSystemMonitorDisc<ACS::pattern, ROpatternImpl>
00019 {
00020
public:
00021
00022 AlarmSystemMonitorPattern(
ROpatternImpl* property,
EventDispatcher * eventDispatcher);
00023
00024
virtual ~AlarmSystemMonitorPattern();
00025
00026
virtual void check(
BACIValue &val,
00027
const ACSErr::Completion & c,
00028
const ACS::CBDescOut & desc );
00029
00030
private:
00031
00032 ACS::pattern lastValue_m;
00033
00034
00035 const unsigned short patternSize_m;
00036
00037
00038 unsigned short bitPos_m;
00039
00040
00041 ACS::pattern alarmTrigger_m,
00042 alarmMask_m;
00043
00044
00045 ACS::stringSeq *bitDescriptions_mp;
00046
00047
00048 unsigned long bitDescLength_m;
00049
00053
void operator=(
const AlarmSystemMonitorPattern&);
00054
00058 AlarmSystemMonitorPattern(
const AlarmSystemMonitorPattern&);
00059
00060 };
00061
00062 }
00063
#endif