00001
00022 #ifndef __DEFAULT_USRS_HH__
00023 #define __DEFAULT_USRS_HH__
00024
00025 #include <string>
00026 #include <global-types.h>
00027 #include <accdevexception.hh>
00028 #include <usr.hh>
00029
00030
00031
00032
00045 template<class T>
00046 class ReadDefNOMEN : public Usr
00047 {
00048 public:
00049 ReadDefNOMEN(T* dev) :
00050 Usr("NOMEN", PROP_MODE_READ, MEDLOCK_NONE, MASTER_PROPERTY,
00051 PROP_ACCESS_FREE, NO_ACCDATATYPE, NO_ACCDATATYPE), _dev(dev) {};
00052 ~ReadDefNOMEN() {};
00053
00065 virtual DeviceAccess::AccDevRetStatus
00066 read(SLong vrtAcc,
00067 const DeviceAccess::AccData& para,
00068 DeviceAccess::AccData& data,
00069 DeviceAccess::AccStamp& stamp,
00070 DeviceAccess::AccEFICD& eficd);
00071
00072 private:
00073 T* _dev;
00074 };
00075
00076
00077
00091 template<class T>
00092 class ReadDefPROPDESC : public Usr
00093 {
00094 public:
00095 ReadDefPROPDESC(T* dev) :
00096 Usr("PROPDESC", PROP_MODE_READ, MEDLOCK_NONE, MASTER_PROPERTY,
00097 PROP_ACCESS_FREE, NO_ACCDATATYPE, NO_ACCDATATYPE), _dev(dev) {};
00098 ~ReadDefPROPDESC() {};
00099
00132 virtual DeviceAccess::AccDevRetStatus
00133 read(SLong vrtAcc,
00134 const DeviceAccess::AccData& para,
00135 DeviceAccess::AccData& data,
00136 DeviceAccess::AccStamp& stamp,
00137 DeviceAccess::AccEFICD& eficd);
00138
00139 private:
00140 T* _dev;
00141 };
00142
00143
00144
00157 template<class T>
00158 class ReadDefSHUTUP : public Usr
00159 {
00160 public:
00161 ReadDefSHUTUP(T* dev) :
00162 Usr("SHUTUP", PROP_MODE_READ, MEDLOCK_NONE, MASTER_PROPERTY,
00163 PROP_ACCESS_FREE, NO_ACCDATATYPE, NO_ACCDATATYPE), _dev(dev) {};
00164 ~ReadDefSHUTUP() {};
00165
00179 virtual DeviceAccess::AccDevRetStatus
00180 read(SLong vrtAcc,
00181 const DeviceAccess::AccData& para,
00182 DeviceAccess::AccData& data,
00183 DeviceAccess::AccStamp& stamp,
00184 DeviceAccess::AccEFICD& eficd);
00185
00186 private:
00187 T* _dev;
00188 };
00189
00190
00191
00204 template<class T>
00205 class WriteDefSHUTUP : public Usr
00206 {
00207 public:
00208 WriteDefSHUTUP(T* dev) :
00209 Usr("SHUTUP", PROP_MODE_WRITE, MEDLOCK_ALL, MASTER_PROPERTY,
00210 PROP_ACCESS_DEVICE, NO_ACCDATATYPE, NO_ACCDATATYPE), _dev(dev) {};
00211 ~WriteDefSHUTUP() {};
00212
00223 virtual DeviceAccess::AccDevRetStatus
00224 write(SLong vrtAcc,
00225 const DeviceAccess::AccData& para,
00226 const DeviceAccess::AccData& data);
00227
00228 private:
00229 T* _dev;
00230 };
00231
00232
00248 template<class T>
00249 class CallDefINIT : public Usr
00250 {
00251 public:
00252 CallDefINIT(T* dev) :
00253 Usr("INIT", PROP_MODE_CALL, MEDLOCK_ALL, MASTER_PROPERTY,
00254 PROP_ACCESS_DEVICE, NO_ACCDATATYPE, NO_ACCDATATYPE), _dev(dev) {};
00255 ~CallDefINIT() {};
00256
00262 virtual DeviceAccess::AccDevRetStatus
00263 call(SLong vrtAcc,
00264 const DeviceAccess::AccData& para);
00265
00266 private:
00267 T* _dev;
00268 };
00269
00270
00285 template<class T>
00286 class CallDefRESET : public Usr
00287 {
00288 public:
00289 CallDefRESET(T* dev) :
00290 Usr("RESET", PROP_MODE_CALL, MEDLOCK_ALL, MASTER_PROPERTY,
00291 PROP_ACCESS_DEVICE, NO_ACCDATATYPE, NO_ACCDATATYPE), _dev(dev) {};
00292 ~CallDefRESET() {};
00293
00299 virtual DeviceAccess::AccDevRetStatus
00300 call(SLong vrtAcc,
00301 const DeviceAccess::AccData& para);
00302
00303 private:
00304 T* _dev;
00305 };
00306
00307
00308
00322 template<class T>
00323 class ReadDefVERSION : public Usr
00324 {
00325 public:
00326 ReadDefVERSION(T* dev) :
00327 Usr("VERSION", PROP_MODE_READ, MEDLOCK_NONE, MASTER_PROPERTY,
00328 PROP_ACCESS_FREE, NO_ACCDATATYPE, BitSet8), _dev(dev) {};
00329 ~ReadDefVERSION() {};
00330
00367 virtual DeviceAccess::AccDevRetStatus
00368 read(SLong vrtAcc,
00369 const DeviceAccess::AccData& para,
00370 DeviceAccess::AccData& data,
00371 DeviceAccess::AccStamp& stamp,
00372 DeviceAccess::AccEFICD& eficd);
00373
00374 private:
00375 T* _dev;
00376 };
00377
00378
00379
00392 template<class T>
00393 class ReadDefSTATUS : public Usr
00394 {
00395 public:
00396 ReadDefSTATUS(T* dev) :
00397 Usr("STATUS", PROP_MODE_READ, MEDLOCK_NONE, MASTER_PROPERTY,
00398 PROP_ACCESS_FREE, NO_ACCDATATYPE, BitSet32), _dev(dev) {};
00399 ~ReadDefSTATUS() {};
00400
00413 virtual DeviceAccess::AccDevRetStatus
00414 read(SLong vrtAcc,
00415 const DeviceAccess::AccData& para,
00416 DeviceAccess::AccData& data,
00417 DeviceAccess::AccStamp& stamp,
00418 DeviceAccess::AccEFICD& eficd);
00419
00420 private:
00421 T* _dev;
00422 };
00423
00426 #endif