00001
00013 #ifndef __BCU_USRS_HH__
00014 #define __BCU_USRS_HH__
00015
00016 #include <string>
00017 #include <global-types.h>
00018 #include <usr.hh>
00019 #include <usrset.hh>
00020 #include <bcu-device.hh>
00021 #include <platform.h>
00022 #include "bcu-helper.hh"
00023
00024
00025 namespace DeviceAccess
00026 {
00027 namespace EqModBCU
00028 {
00062 class E_API ReadVOLTAGES : public DeviceAccess::Usr
00063 {
00064 public:
00065 ReadVOLTAGES(BCUDevice* dev, const string& propname = "VOLTAGES") :
00066 Usr(propname, PROP_MODE_READ , MEDLOCK_NONE, SLAVE_PROPERTY, PROP_ACCESS_FREE, NO_ACCDATATYPE, NO_ACCDATATYPE, 0), _dev(dev)
00067 {
00068 }
00069
00070 ~ReadVOLTAGES()
00071 {
00072 }
00073 virtual AccDevRetStatus read(SLong vrtAcc, const AccData& rcvPara, AccData& sndData, AccStamp& stamp, AccEFICD& eficd);
00074
00075 private:
00076 BCUDevice* _dev;
00077 };
00078
00106 class E_API WriteVOLTAGES : public DeviceAccess::Usr
00107 {
00108 public:
00109 WriteVOLTAGES(BCUDevice* dev, const string& propname = "VOLTAGES") :
00110 Usr(propname, PROP_MODE_WRITE , MEDLOCK_NONE, SLAVE_PROPERTY, PROP_ACCESS_DEVICE, NO_ACCDATATYPE, NO_ACCDATATYPE, 0), _dev(dev)
00111 {
00112 }
00113
00114 ~WriteVOLTAGES()
00115 {
00116 }
00117 virtual AccDevRetStatus write(SLong vrtAcc, const AccData& rcvPara, const AccData& rcvData);
00118
00119 private:
00120 BCUDevice* _dev;
00121 };
00122
00153 class E_API ReadVOLTAGEI : public DeviceAccess::Usr
00154 {
00155 public:
00156 ReadVOLTAGEI(BCUDevice* dev, const string& propname = "VOLTAGEI") :
00157 Usr(propname, PROP_MODE_READ , MEDLOCK_NONE, SLAVE_PROPERTY, PROP_ACCESS_FREE, NO_ACCDATATYPE, NO_ACCDATATYPE, 0), _dev(dev)
00158 {
00159 }
00160
00161 ~ReadVOLTAGEI()
00162 {
00163 }
00164 virtual AccDevRetStatus read(SLong vrtAcc, const AccData& rcvPara, AccData& sndData, AccStamp& stamp, AccEFICD& eficd);
00165
00166 private:
00167 BCUDevice* _dev;
00168 };
00169
00203 class E_API ReadCONSTANT : public DeviceAccess::Usr
00204 {
00205 public:
00206 ReadCONSTANT(BCUDevice* dev, const string& propname = "CONSTANT") :
00207 Usr(propname, PROP_MODE_READ , MEDLOCK_NONE, MASTER_PROPERTY, PROP_ACCESS_FREE, NO_ACCDATATYPE, NO_ACCDATATYPE, 0), _dev(dev)
00208 {
00209 }
00210
00211 ~ReadCONSTANT()
00212 {
00213 }
00214 virtual AccDevRetStatus read(SLong vrtAcc, const AccData& rcvPara, AccData& sndData, AccStamp& stamp, AccEFICD& eficd);
00215
00216 private:
00217 BCUDevice* _dev;
00218 };
00219
00249 class E_API WriteCOPYSET : public DeviceAccess::Usr
00250 {
00251 public:
00252 WriteCOPYSET(BCUDevice* dev, const string& propname = "COPYSET") :
00253 Usr(propname, PROP_MODE_WRITE , MEDLOCK_NONE, SLAVE_PROPERTY, PROP_ACCESS_DEVICE, NO_ACCDATATYPE, NO_ACCDATATYPE, 0), _dev(dev)
00254 {
00255 }
00256
00257 ~WriteCOPYSET()
00258 {
00259 }
00260 virtual AccDevRetStatus write(SLong vrtAcc, const AccData& rcvPara, const AccData& rcvData);
00261
00262 private:
00263 BCUDevice* _dev;
00264 };
00265
00266
00267
00268 void addUsrs(DeviceAccess::UsrSet& ua, BCUDevice* vd);
00269
00273 }
00274 }
00275
00276 #endif