00001
#ifndef _baciROcontImpl_T_H_
00002
#define _baciROcontImpl_T_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
00034
#ifndef __cplusplus
00035
#error This is a C++ include file and cannot be used from plain C
00036
#endif
00037
00038
#include <baciPcontImpl_T.h>
00039
#include <baciROcommonImpl_T.h>
00040
#include "baciAlarmSystemMonitorCont_T.h"
00041
00042
namespace baci {
00043
00049
template<ACS_RO_C>
00050 class baci_EXPORT ROcontImpl:
public virtual POA_SK,
00051
public ROcommonImpl<ACS_RO_TL>,
00052
public PcontImpl<ACS_P_TL>
00053 {
00054
public:
00055
00061 ROcontImpl(
const ACE_CString& name,
BACIComponent *component_p,
DevIO<TM> *devIO=0,
bool flagdeldevIO=
false);
00062
00067 ROcontImpl(
bool init,
const ACE_CString& name,
BACIComponent *component_p,
DevIO<TM> *devIO=0,
bool flagdeldevIO=
false );
00068
00072
virtual ~ROcontImpl();
00073
00074
00075
00076
00077
00078
00079
00080
virtual TS alarm_low_on ();
00081
00082
virtual TS alarm_low_off ();
00083
00084
virtual TS alarm_high_on ();
00085
00086
virtual TS alarm_high_off ();
00087
00088
virtual ACS::Subscription_ptr
00089 new_subscription_Alarm (TAlarm *cb,
00090
const ACS::CBDescIn & desc);
00091
00092
protected:
00093
00101 typedef ROcontImpl<ACS_RO_TL> PropType;
00107 AlarmSystemMonitorCont<TS, PropType> *alarmSystemMonitor_mp;
00108
00114
virtual bool readCharacteristics();
00115
00116
private:
00120
00121
00122 TSM alarmLowOn_m;
00123 TSM alarmLowOff_m;
00124 TSM alarmHighOn_m;
00125 TSM alarmHighOff_m;
00126 };
00127
00128
00129 };
00130
00131
#endif
00132
00133
00134
00135
00136
00137
00138
00139
00140
00141
00142
00143
00144