00001
00013 #ifndef __DSME_USRS_HH__
00014 #define __DSME_USRS_HH__
00015
00016 #include <string>
00017 #include <global-types.h>
00018 #include <usr.hh>
00019 #include <usrset.hh>
00020 #include <dsme-device.hh>
00021 #include <platform.h>
00022 #include "dsme-helper.hh"
00023
00024
00025 namespace DeviceAccess
00026 {
00027 namespace EqModDSME
00028 {
00055 class E_API CallINITPOS : public DeviceAccess::Usr
00056 {
00057 public:
00058 CallINITPOS(DSMEDevice* dev, const string& propname = "INITPOS") :
00059 Usr(propname, PROP_MODE_CALL , MEDLOCK_ALL, MASTER_PROPERTY, PROP_ACCESS_DEVICE, NO_ACCDATATYPE, NO_ACCDATATYPE, 0), _dev(dev)
00060 {
00061 }
00062
00063 ~CallINITPOS()
00064 {
00065 }
00066 virtual AccDevRetStatus call(SLong vrtAcc, const AccData& rcvPara);
00067
00068 private:
00069 DSMEDevice* _dev;
00070 };
00071
00156 class E_API ReadINFO : public DeviceAccess::Usr
00157 {
00158 public:
00159 ReadINFO(DSMEDevice* dev, const string& propname = "INFO") :
00160 Usr(propname, PROP_MODE_READ , MEDLOCK_NONE, MASTER_PROPERTY, PROP_ACCESS_FREE, NO_ACCDATATYPE, NO_ACCDATATYPE, 0), _dev(dev)
00161 {
00162 }
00163
00164 ~ReadINFO()
00165 {
00166 }
00167 virtual AccDevRetStatus read(SLong vrtAcc, const AccData& rcvPara, AccData& sndData, AccStamp& stamp, AccEFICD& eficd);
00168
00169 private:
00170 DSMEDevice* _dev;
00171 };
00172
00225 class E_API ReadCONSTANT : public DeviceAccess::Usr
00226 {
00227 public:
00228 ReadCONSTANT(DSMEDevice* dev, const string& propname = "CONSTANT") :
00229 Usr(propname, PROP_MODE_READ , MEDLOCK_NONE, MASTER_PROPERTY, PROP_ACCESS_FREE, NO_ACCDATATYPE, NO_ACCDATATYPE, 0), _dev(dev)
00230 {
00231 }
00232
00233 ~ReadCONSTANT()
00234 {
00235 }
00236 virtual AccDevRetStatus read(SLong vrtAcc, const AccData& rcvPara, AccData& sndData, AccStamp& stamp, AccEFICD& eficd);
00237
00238 private:
00239 DSMEDevice* _dev;
00240 };
00241
00263 class E_API CallSTOP : public DeviceAccess::Usr
00264 {
00265 public:
00266 CallSTOP(DSMEDevice* dev, const string& propname = "STOP") :
00267 Usr(propname, PROP_MODE_CALL , MEDLOCK_ALL, MASTER_PROPERTY, PROP_ACCESS_DEVICE, NO_ACCDATATYPE, NO_ACCDATATYPE, 0), _dev(dev)
00268 {
00269 }
00270
00271 ~CallSTOP()
00272 {
00273 }
00274 virtual AccDevRetStatus call(SLong vrtAcc, const AccData& rcvPara);
00275
00276 private:
00277 DSMEDevice* _dev;
00278 };
00279
00314 class E_API ReadDISTS : public DeviceAccess::Usr
00315 {
00316 public:
00317 ReadDISTS(DSMEDevice* dev, const string& propname = "DISTS") :
00318 Usr(propname, PROP_MODE_READ , MEDLOCK_NONE, MASTER_PROPERTY, PROP_ACCESS_FREE, NO_ACCDATATYPE, NO_ACCDATATYPE, 0), _dev(dev)
00319 {
00320 }
00321
00322 ~ReadDISTS()
00323 {
00324 }
00325 virtual AccDevRetStatus read(SLong vrtAcc, const AccData& rcvPara, AccData& sndData, AccStamp& stamp, AccEFICD& eficd);
00326
00327 private:
00328 DSMEDevice* _dev;
00329 };
00330
00365 class E_API WriteDISTS : public DeviceAccess::Usr
00366 {
00367 public:
00368 WriteDISTS(DSMEDevice* dev, const string& propname = "DISTS") :
00369 Usr(propname, PROP_MODE_WRITE , MEDLOCK_ALL, MASTER_PROPERTY, PROP_ACCESS_DEVICE, NO_ACCDATATYPE, NO_ACCDATATYPE, 0), _dev(dev)
00370 {
00371 }
00372
00373 ~WriteDISTS()
00374 {
00375 }
00376 virtual AccDevRetStatus write(SLong vrtAcc, const AccData& rcvPara, const AccData& rcvData);
00377
00378 private:
00379 DSMEDevice* _dev;
00380 };
00381
00414 class E_API ReadDISTI : public DeviceAccess::Usr
00415 {
00416 public:
00417 ReadDISTI(DSMEDevice* dev, const string& propname = "DISTI") :
00418 Usr(propname, PROP_MODE_READ , MEDLOCK_NONE, MASTER_PROPERTY, PROP_ACCESS_FREE, NO_ACCDATATYPE, NO_ACCDATATYPE, 0), _dev(dev)
00419 {
00420 }
00421
00422 ~ReadDISTI()
00423 {
00424 }
00425 virtual AccDevRetStatus read(SLong vrtAcc, const AccData& rcvPara, AccData& sndData, AccStamp& stamp, AccEFICD& eficd);
00426
00427 private:
00428 DSMEDevice* _dev;
00429 };
00430
00460 class E_API WritePOSIREL : public DeviceAccess::Usr
00461 {
00462 public:
00463 WritePOSIREL(DSMEDevice* dev, const string& propname = "POSIREL") :
00464 Usr(propname, PROP_MODE_WRITE , MEDLOCK_ALL, MASTER_PROPERTY, PROP_ACCESS_DEVICE, NO_ACCDATATYPE, NO_ACCDATATYPE, 0), _dev(dev)
00465 {
00466 }
00467
00468 ~WritePOSIREL()
00469 {
00470 }
00471 virtual AccDevRetStatus write(SLong vrtAcc, const AccData& rcvPara, const AccData& rcvData);
00472
00473 private:
00474 DSMEDevice* _dev;
00475 };
00476
00509 class E_API WritePOSITS : public DeviceAccess::Usr
00510 {
00511 public:
00512 WritePOSITS(DSMEDevice* dev, const string& propname = "POSITS") :
00513 Usr(propname, PROP_MODE_WRITE , MEDLOCK_ALL, MASTER_PROPERTY, PROP_ACCESS_DEVICE, NO_ACCDATATYPE, NO_ACCDATATYPE, 0), _dev(dev)
00514 {
00515 }
00516
00517 ~WritePOSITS()
00518 {
00519 }
00520 virtual AccDevRetStatus write(SLong vrtAcc, const AccData& rcvPara, const AccData& rcvData);
00521
00522 private:
00523 DSMEDevice* _dev;
00524 };
00525
00558 class E_API ReadPOSITS : public DeviceAccess::Usr
00559 {
00560 public:
00561 ReadPOSITS(DSMEDevice* dev, const string& propname = "POSITS") :
00562 Usr(propname, PROP_MODE_READ , MEDLOCK_NONE, MASTER_PROPERTY, PROP_ACCESS_FREE, NO_ACCDATATYPE, NO_ACCDATATYPE, 0), _dev(dev)
00563 {
00564 }
00565
00566 ~ReadPOSITS()
00567 {
00568 }
00569 virtual AccDevRetStatus read(SLong vrtAcc, const AccData& rcvPara, AccData& sndData, AccStamp& stamp, AccEFICD& eficd);
00570
00571 private:
00572 DSMEDevice* _dev;
00573 };
00574
00607 class E_API ReadPOSITI : public DeviceAccess::Usr
00608 {
00609 public:
00610 ReadPOSITI(DSMEDevice* dev, const string& propname = "POSITI") :
00611 Usr(propname, PROP_MODE_READ , MEDLOCK_NONE, MASTER_PROPERTY, PROP_ACCESS_FREE, NO_ACCDATATYPE, NO_ACCDATATYPE, 0), _dev(dev)
00612 {
00613 }
00614
00615 ~ReadPOSITI()
00616 {
00617 }
00618 virtual AccDevRetStatus read(SLong vrtAcc, const AccData& rcvPara, AccData& sndData, AccStamp& stamp, AccEFICD& eficd);
00619
00620 private:
00621 DSMEDevice* _dev;
00622 };
00623
00662 class E_API ReadPOSIABSI : public DeviceAccess::Usr
00663 {
00664 public:
00665 ReadPOSIABSI(DSMEDevice* dev, const string& propname = "POSIABSI") :
00666 Usr(propname, PROP_MODE_READ , MEDLOCK_NONE, MASTER_PROPERTY, PROP_ACCESS_FREE, NO_ACCDATATYPE, NO_ACCDATATYPE, 0), _dev(dev)
00667 {
00668 }
00669
00670 ~ReadPOSIABSI()
00671 {
00672 }
00673 virtual AccDevRetStatus read(SLong vrtAcc, const AccData& rcvPara, AccData& sndData, AccStamp& stamp, AccEFICD& eficd);
00674
00675 private:
00676 DSMEDevice* _dev;
00677 };
00678
00715 class E_API ReadPOSIABSS : public DeviceAccess::Usr
00716 {
00717 public:
00718 ReadPOSIABSS(DSMEDevice* dev, const string& propname = "POSIABSS") :
00719 Usr(propname, PROP_MODE_READ , MEDLOCK_NONE, MASTER_PROPERTY, PROP_ACCESS_FREE, NO_ACCDATATYPE, NO_ACCDATATYPE, 0), _dev(dev)
00720 {
00721 }
00722
00723 ~ReadPOSIABSS()
00724 {
00725 }
00726 virtual AccDevRetStatus read(SLong vrtAcc, const AccData& rcvPara, AccData& sndData, AccStamp& stamp, AccEFICD& eficd);
00727
00728 private:
00729 DSMEDevice* _dev;
00730 };
00731
00757 class E_API ReadPOWER : public DeviceAccess::Usr
00758 {
00759 public:
00760 ReadPOWER(DSMEDevice* dev, const string& propname = "POWER") :
00761 Usr(propname, PROP_MODE_READ , MEDLOCK_NONE, MASTER_PROPERTY, PROP_ACCESS_FREE, NO_ACCDATATYPE, NO_ACCDATATYPE, 0), _dev(dev)
00762 {
00763 }
00764
00765 ~ReadPOWER()
00766 {
00767 }
00768 virtual AccDevRetStatus read(SLong vrtAcc, const AccData& rcvPara, AccData& sndData, AccStamp& stamp, AccEFICD& eficd);
00769
00770 private:
00771 DSMEDevice* _dev;
00772 };
00773
00799 class E_API WritePOWER : public DeviceAccess::Usr
00800 {
00801 public:
00802 WritePOWER(DSMEDevice* dev, const string& propname = "POWER") :
00803 Usr(propname, PROP_MODE_WRITE , MEDLOCK_NONE, MASTER_PROPERTY, PROP_ACCESS_DEVICE, NO_ACCDATATYPE, NO_ACCDATATYPE, 0), _dev(dev)
00804 {
00805 }
00806
00807 ~WritePOWER()
00808 {
00809 }
00810 virtual AccDevRetStatus write(SLong vrtAcc, const AccData& rcvPara, const AccData& rcvData);
00811
00812 private:
00813 DSMEDevice* _dev;
00814 };
00815
00816
00817
00818 void addUsrs(DeviceAccess::UsrSet& ua, DSMEDevice* vd);
00819
00823 }
00824 }
00825
00826 #endif