Go to the documentation of this file.00001 #ifndef _baciRWcontImpl_T_H_
00002 #define _baciRWcontImpl_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
00029
00035 #ifndef __cplusplus
00036 #error This is a C++ include file and cannot be used from plain C
00037 #endif
00038
00039 #include <baciPcontImpl_T.h>
00040 #include <baciRWcommonImpl_T.h>
00041 #include <ACSErrTypeCommon.h>
00042
00046 #define INC_ACTION 2
00047
00050 #define DEC_ACTION 3
00051
00052 namespace baci {
00053
00059
00060
00061 template <ACS_RW_C>
00062 class baci_EXPORT RWcontImpl : public virtual POA_SK,
00063 public RWcommonImpl<ACS_RW_TL>,
00064 public PcontImpl<ACS_P_TL>
00065 {
00066
00067
00068 public:
00074 RWcontImpl(const ACE_CString& name, BACIComponent *component_p, DevIO<TM> *devIO=0, bool flagdeldevIO=false);
00075
00081 RWcontImpl(bool initValue, const ACE_CString& name, BACIComponent *component_p, DevIO<TM> *devIO=0, bool flagdeldevIO=false);
00082
00086 virtual ~RWcontImpl();
00087
00088
00089
00090
00091
00092
00093
00094
00095
00096
00097
00098
00116 virtual ActionRequest invokeAction(int function,
00117 BACIComponent* component_p,
00118 const int &callbackID,
00119 const CBDescIn& descIn,
00120 BACIValue* value,
00121 Completion& completion,
00122 CBDescOut& descOut);
00123
00124
00125
00134 virtual void setValue(BACIProperty* property,
00135 BACIValue* value,
00136 Completion &completion,
00137 CBDescOut& descOut);
00138
00142 virtual ActionRequest incrementAction(BACIComponent* component_p,
00143 int callbackID,
00144 const CBDescIn& descIn,
00145 BACIValue* value,
00146 Completion& completion,
00147 CBDescOut& descOut);
00148
00152 virtual ActionRequest decrementAction(BACIComponent* component_p,
00153 int callbackID,
00154 const CBDescIn& descIn,
00155 BACIValue* value,
00156 Completion& completion,
00157 CBDescOut& descOut);
00158
00159
00160
00161
00162
00163
00164
00165 virtual TS min_value ();
00166
00167 virtual TS max_value ();
00168
00169 virtual void increment (ACS::CBvoid_ptr cb,
00170 const ACS::CBDescIn & desc);
00171
00172 virtual void decrement (ACS::CBvoid_ptr cb,
00173 const ACS::CBDescIn & desc);
00174
00175 protected:
00176 virtual bool readCharacteristics();
00177
00178 private:
00179
00180
00181
00182 TSM min_value_m;
00183 TSM max_value_m;
00184 };
00185
00186 };
00187
00188 #endif
00189
00190
00191
00192
00193
00194
00195
00196
00197