00001
00010 #ifndef __MXS_USRS_HH__
00011 #define __MXS_USRS_HH__
00012
00013 #include <string>
00014 #include <global-types.h>
00015 #include <usr.hh>
00016 #include <usrset.hh>
00017 #include <mxs-device.hh>
00018 #include <platform.h>
00019 #include <devinfo.hh>
00020
00021
00022 namespace DeviceAccess
00023 {
00024 namespace EqModMXS
00025 {
00044 static const string EQ_MODEL_NAME = "MXS_03";
00079 class E_API WriteCONNECT : public DeviceAccess::Usr
00080 {
00081 public:
00082 WriteCONNECT(MXSDevice* dev, const string& propname = "CONNECT") :
00083 Usr(propname, PROP_MODE_WRITE , MEDLOCK_ALL, MASTER_PROPERTY, PROP_ACCESS_DEVICE, NO_ACCDATATYPE, NO_ACCDATATYPE, 0), _dev(dev)
00084 {
00085 }
00086
00087 ~WriteCONNECT()
00088 {
00089 }
00090 virtual AccDevRetStatus write(SLong vrtAcc, const AccData& rcvPara, const AccData& rcvData);
00091
00092 private:
00093 MXSDevice* _dev;
00094 };
00095
00128 class E_API ReadCONNECT : public DeviceAccess::Usr
00129 {
00130 public:
00131 ReadCONNECT(MXSDevice* dev, const string& propname = "CONNECT") :
00132 Usr(propname, PROP_MODE_READ , MEDLOCK_NONE, MASTER_PROPERTY, PROP_ACCESS_FREE, NO_ACCDATATYPE, NO_ACCDATATYPE, 0), _dev(dev)
00133 {
00134 }
00135
00136 ~ReadCONNECT()
00137 {
00138 }
00139 virtual AccDevRetStatus read(SLong vrtAcc, const AccData& rcvPara, AccData& sndData, AccStamp& stamp, AccEFICD& eficd);
00140
00141 private:
00142 MXSDevice* _dev;
00143 };
00144
00173 class E_API WritePOWER : public DeviceAccess::Usr
00174 {
00175 public:
00176 WritePOWER(MXSDevice* dev, const string& propname = "POWER") :
00177 Usr(propname, PROP_MODE_WRITE , MEDLOCK_ALL, MASTER_PROPERTY, PROP_ACCESS_DEVICE, NO_ACCDATATYPE, NO_ACCDATATYPE, 0), _dev(dev)
00178 {
00179 }
00180
00181 ~WritePOWER()
00182 {
00183 }
00184 virtual AccDevRetStatus write(SLong vrtAcc, const AccData& rcvPara, const AccData& rcvData);
00185
00186 private:
00187 MXSDevice* _dev;
00188 };
00189
00218 class E_API ReadPOWER : public DeviceAccess::Usr
00219 {
00220 public:
00221 ReadPOWER(MXSDevice* dev, const string& propname = "POWER") :
00222 Usr(propname, PROP_MODE_READ , MEDLOCK_NONE, MASTER_PROPERTY, PROP_ACCESS_FREE, NO_ACCDATATYPE, NO_ACCDATATYPE, 0), _dev(dev)
00223 {
00224 }
00225
00226 ~ReadPOWER()
00227 {
00228 }
00229 virtual AccDevRetStatus read(SLong vrtAcc, const AccData& rcvPara, AccData& sndData, AccStamp& stamp, AccEFICD& eficd);
00230
00231 private:
00232 MXSDevice* _dev;
00233 };
00234
00263 class E_API WriteINVERTER : public DeviceAccess::Usr
00264 {
00265 public:
00266 WriteINVERTER(MXSDevice* dev, const string& propname = "INVERTER") :
00267 Usr(propname, PROP_MODE_WRITE , MEDLOCK_ALL, MASTER_PROPERTY, PROP_ACCESS_DEVICE, NO_ACCDATATYPE, NO_ACCDATATYPE, 0), _dev(dev)
00268 {
00269 }
00270
00271 ~WriteINVERTER()
00272 {
00273 }
00274 virtual AccDevRetStatus write(SLong vrtAcc, const AccData& rcvPara, const AccData& rcvData);
00275
00276 private:
00277 MXSDevice* _dev;
00278 };
00279
00309 class E_API ReadINVERTER : public DeviceAccess::Usr
00310 {
00311 public:
00312 ReadINVERTER(MXSDevice* dev, const string& propname = "INVERTER") :
00313 Usr(propname, PROP_MODE_READ , MEDLOCK_NONE, MASTER_PROPERTY, PROP_ACCESS_FREE, NO_ACCDATATYPE, NO_ACCDATATYPE, 0), _dev(dev)
00314 {
00315 }
00316
00317 ~ReadINVERTER()
00318 {
00319 }
00320 virtual AccDevRetStatus read(SLong vrtAcc, const AccData& rcvPara, AccData& sndData, AccStamp& stamp, AccEFICD& eficd);
00321
00322 private:
00323 MXSDevice* _dev;
00324 };
00325
00355 class E_API WriteACTIV : public DeviceAccess::Usr
00356 {
00357 public:
00358 WriteACTIV(MXSDevice* dev, const string& propname = "ACTIV") :
00359 Usr(propname, PROP_MODE_WRITE , MEDLOCK_VRTACC, SLAVE_PROPERTY, PROP_ACCESS_DEVICE, NO_ACCDATATYPE, NO_ACCDATATYPE, 0), _dev(dev)
00360 {
00361 }
00362
00363 ~WriteACTIV()
00364 {
00365 }
00366 virtual AccDevRetStatus write(SLong vrtAcc, const AccData& rcvPara, const AccData& rcvData);
00367
00368 private:
00369 MXSDevice* _dev;
00370 };
00371
00401 class E_API ReadACTIV : public DeviceAccess::Usr
00402 {
00403 public:
00404 ReadACTIV(MXSDevice* dev, const string& propname = "ACTIV") :
00405 Usr(propname, PROP_MODE_READ , MEDLOCK_NONE, SLAVE_PROPERTY, PROP_ACCESS_FREE, NO_ACCDATATYPE, NO_ACCDATATYPE, 0), _dev(dev)
00406 {
00407 }
00408
00409 ~ReadACTIV()
00410 {
00411 }
00412 virtual AccDevRetStatus read(SLong vrtAcc, const AccData& rcvPara, AccData& sndData, AccStamp& stamp, AccEFICD& eficd);
00413
00414 private:
00415 MXSDevice* _dev;
00416 };
00417
00443 class E_API ReadDSTATUS : public DeviceAccess::Usr
00444 {
00445 public:
00446 ReadDSTATUS(MXSDevice* dev, const string& propname = "DSTATUS") :
00447 Usr(propname, PROP_MODE_READ , MEDLOCK_NONE, SLAVE_PROPERTY, PROP_ACCESS_FREE, NO_ACCDATATYPE, NO_ACCDATATYPE, 0), _dev(dev)
00448 {
00449 }
00450
00451 ~ReadDSTATUS()
00452 {
00453 }
00454 virtual AccDevRetStatus read(SLong vrtAcc, const AccData& rcvPara, AccData& sndData, AccStamp& stamp, AccEFICD& eficd);
00455
00456 private:
00457 MXSDevice* _dev;
00458 };
00459
00492 class E_API WriteFIELDS : public DeviceAccess::Usr
00493 {
00494 public:
00495 WriteFIELDS(MXSDevice* dev, const string& propname = "FIELDS") :
00496 Usr(propname, PROP_MODE_WRITE , MEDLOCK_VRTACC, SLAVE_PROPERTY, PROP_ACCESS_DEVICE, NO_ACCDATATYPE, NO_ACCDATATYPE, 0), _dev(dev)
00497 {
00498 }
00499
00500 ~WriteFIELDS()
00501 {
00502 }
00503 virtual AccDevRetStatus write(SLong vrtAcc, const AccData& rcvPara, const AccData& rcvData);
00504
00505 private:
00506 MXSDevice* _dev;
00507 };
00508
00534 class E_API ReadFIELDS : public DeviceAccess::Usr
00535 {
00536 public:
00537 ReadFIELDS(MXSDevice* dev, const string& propname = "FIELDS") :
00538 Usr(propname, PROP_MODE_READ , MEDLOCK_NONE, SLAVE_PROPERTY, PROP_ACCESS_FREE, NO_ACCDATATYPE, NO_ACCDATATYPE, 0), _dev(dev)
00539 {
00540 }
00541
00542 ~ReadFIELDS()
00543 {
00544 }
00545 virtual AccDevRetStatus read(SLong vrtAcc, const AccData& rcvPara, AccData& sndData, AccStamp& stamp, AccEFICD& eficd);
00546
00547 private:
00548 MXSDevice* _dev;
00549 };
00550
00594 class E_API ReadFIELDI : public DeviceAccess::Usr
00595 {
00596 public:
00597 ReadFIELDI(MXSDevice* dev, const string& propname = "FIELDI") :
00598 Usr(propname, PROP_MODE_READ , MEDLOCK_NONE, SLAVE_PROPERTY, PROP_ACCESS_FREE, NO_ACCDATATYPE, NO_ACCDATATYPE, 0), _dev(dev)
00599 {
00600 }
00601
00602 ~ReadFIELDI()
00603 {
00604 }
00605 virtual AccDevRetStatus read(SLong vrtAcc, const AccData& rcvPara, AccData& sndData, AccStamp& stamp, AccEFICD& eficd);
00606
00607 private:
00608 MXSDevice* _dev;
00609 };
00610
00643 class E_API WriteCURRENTS : public DeviceAccess::Usr
00644 {
00645 public:
00646 WriteCURRENTS(MXSDevice* dev, const string& propname = "CURRENTS") :
00647 Usr(propname, PROP_MODE_WRITE , MEDLOCK_VRTACC, SLAVE_PROPERTY, PROP_ACCESS_DEVICE, NO_ACCDATATYPE, NO_ACCDATATYPE, 0), _dev(dev)
00648 {
00649 }
00650
00651 ~WriteCURRENTS()
00652 {
00653 }
00654 virtual AccDevRetStatus write(SLong vrtAcc, const AccData& rcvPara, const AccData& rcvData);
00655
00656 private:
00657 MXSDevice* _dev;
00658 };
00659
00685 class E_API ReadCURRENTS : public DeviceAccess::Usr
00686 {
00687 public:
00688 ReadCURRENTS(MXSDevice* dev, const string& propname = "CURRENTS") :
00689 Usr(propname, PROP_MODE_READ , MEDLOCK_NONE, SLAVE_PROPERTY, PROP_ACCESS_FREE, NO_ACCDATATYPE, NO_ACCDATATYPE, 0), _dev(dev)
00690 {
00691 }
00692
00693 ~ReadCURRENTS()
00694 {
00695 }
00696 virtual AccDevRetStatus read(SLong vrtAcc, const AccData& rcvPara, AccData& sndData, AccStamp& stamp, AccEFICD& eficd);
00697
00698 private:
00699 MXSDevice* _dev;
00700 };
00701
00727 class E_API ReadCURRENTI : public DeviceAccess::Usr
00728 {
00729 public:
00730 ReadCURRENTI(MXSDevice* dev, const string& propname = "CURRENTI") :
00731 Usr(propname, PROP_MODE_READ , MEDLOCK_NONE, SLAVE_PROPERTY, PROP_ACCESS_FREE, NO_ACCDATATYPE, NO_ACCDATATYPE, 0), _dev(dev)
00732 {
00733 }
00734
00735 ~ReadCURRENTI()
00736 {
00737 }
00738 virtual AccDevRetStatus read(SLong vrtAcc, const AccData& rcvPara, AccData& sndData, AccStamp& stamp, AccEFICD& eficd);
00739
00740 private:
00741 MXSDevice* _dev;
00742 };
00743
00779 class E_API WriteVOLTS : public DeviceAccess::Usr
00780 {
00781 public:
00782 WriteVOLTS(MXSDevice* dev, const string& propname = "VOLTS") :
00783 Usr(propname, PROP_MODE_WRITE , MEDLOCK_VRTACC, SLAVE_PROPERTY, PROP_ACCESS_DEVICE, NO_ACCDATATYPE, NO_ACCDATATYPE, 0), _dev(dev)
00784 {
00785 }
00786
00787 ~WriteVOLTS()
00788 {
00789 }
00790 virtual AccDevRetStatus write(SLong vrtAcc, const AccData& rcvPara, const AccData& rcvData);
00791
00792 private:
00793 MXSDevice* _dev;
00794 };
00795
00821 class E_API ReadVOLTS : public DeviceAccess::Usr
00822 {
00823 public:
00824 ReadVOLTS(MXSDevice* dev, const string& propname = "VOLTS") :
00825 Usr(propname, PROP_MODE_READ , MEDLOCK_NONE, SLAVE_PROPERTY, PROP_ACCESS_FREE, NO_ACCDATATYPE, NO_ACCDATATYPE, 0), _dev(dev)
00826 {
00827 }
00828
00829 ~ReadVOLTS()
00830 {
00831 }
00832 virtual AccDevRetStatus read(SLong vrtAcc, const AccData& rcvPara, AccData& sndData, AccStamp& stamp, AccEFICD& eficd);
00833
00834 private:
00835 MXSDevice* _dev;
00836 };
00837
00868 class E_API ReadVOLTI : public DeviceAccess::Usr
00869 {
00870 public:
00871 ReadVOLTI(MXSDevice* dev, const string& propname = "VOLTI") :
00872 Usr(propname, PROP_MODE_READ , MEDLOCK_NONE, SLAVE_PROPERTY, PROP_ACCESS_FREE, NO_ACCDATATYPE, NO_ACCDATATYPE, 0), _dev(dev)
00873 {
00874 }
00875
00876 ~ReadVOLTI()
00877 {
00878 }
00879 virtual AccDevRetStatus read(SLong vrtAcc, const AccData& rcvPara, AccData& sndData, AccStamp& stamp, AccEFICD& eficd);
00880
00881 private:
00882 MXSDevice* _dev;
00883 };
00884
00976 class E_API ReadMAGNINFO : public DeviceAccess::Usr
00977 {
00978 public:
00979 ReadMAGNINFO(MXSDevice* dev, const string& propname = "MAGNINFO") :
00980 Usr(propname, PROP_MODE_READ , MEDLOCK_NONE, SLAVE_PROPERTY, PROP_ACCESS_FREE, NO_ACCDATATYPE, NO_ACCDATATYPE, 0), _dev(dev)
00981 {
00982 }
00983
00984 ~ReadMAGNINFO()
00985 {
00986 }
00987 virtual AccDevRetStatus read(SLong vrtAcc, const AccData& rcvPara, AccData& sndData, AccStamp& stamp, AccEFICD& eficd);
00988
00989 private:
00990 MXSDevice* _dev;
00991 };
00992
01046 class E_API ReadCALC : public DeviceAccess::Usr
01047 {
01048 public:
01049 ReadCALC(MXSDevice* dev, const string& propname = "CALC") :
01050 Usr(propname, PROP_MODE_READ , MEDLOCK_NONE, MASTER_PROPERTY, PROP_ACCESS_FREE, NO_ACCDATATYPE, NO_ACCDATATYPE, 0), _dev(dev)
01051 {
01052 }
01053
01054 ~ReadCALC()
01055 {
01056 }
01057 virtual AccDevRetStatus read(SLong vrtAcc, const AccData& rcvPara, AccData& sndData, AccStamp& stamp, AccEFICD& eficd);
01058
01059 private:
01060 MXSDevice* _dev;
01061 };
01062
01153 class E_API ReadCONSTANT : public DeviceAccess::Usr
01154 {
01155 public:
01156 ReadCONSTANT(MXSDevice* dev, const string& propname = "CONSTANT") :
01157 Usr(propname, PROP_MODE_READ , MEDLOCK_NONE, MASTER_PROPERTY, PROP_ACCESS_FREE, NO_ACCDATATYPE, NO_ACCDATATYPE, 0), _dev(dev)
01158 {
01159 }
01160
01161 ~ReadCONSTANT()
01162 {
01163 }
01164 virtual AccDevRetStatus read(SLong vrtAcc, const AccData& rcvPara, AccData& sndData, AccStamp& stamp, AccEFICD& eficd);
01165
01166 private:
01167 MXSDevice* _dev;
01168 };
01169
01208 class E_API WriteCOPYSET : public DeviceAccess::Usr
01209 {
01210 public:
01211 WriteCOPYSET(MXSDevice* dev, const string& propname = "COPYSET") :
01212 Usr(propname, PROP_MODE_WRITE , MEDLOCK_ALL, SLAVE_PROPERTY, PROP_ACCESS_DEVICE, NO_ACCDATATYPE, NO_ACCDATATYPE, 0), _dev(dev)
01213 {
01214 }
01215
01216 ~WriteCOPYSET()
01217 {
01218 }
01219 virtual AccDevRetStatus write(SLong vrtAcc, const AccData& rcvPara, const AccData& rcvData);
01220
01221 private:
01222 MXSDevice* _dev;
01223 };
01224
01265 class E_API WriteMAGNSVCS : public DeviceAccess::Usr
01266 {
01267 public:
01268 WriteMAGNSVCS(MXSDevice* dev, const string& propname = "MAGNSVCS") :
01269 Usr(propname, PROP_MODE_WRITE , MEDLOCK_ALL, MASTER_PROPERTY, PROP_ACCESS_DEVICE, NO_ACCDATATYPE, NO_ACCDATATYPE, 0), _dev(dev)
01270 {
01271 }
01272
01273 ~WriteMAGNSVCS()
01274 {
01275 }
01276 virtual AccDevRetStatus write(SLong vrtAcc, const AccData& rcvPara, const AccData& rcvData);
01277
01278 private:
01279 MXSDevice* _dev;
01280 };
01281
01311 class E_API ReadMAGNSVCS : public DeviceAccess::Usr
01312 {
01313 public:
01314 ReadMAGNSVCS(MXSDevice* dev, const string& propname = "MAGNSVCS") :
01315 Usr(propname, PROP_MODE_READ , MEDLOCK_NONE, MASTER_PROPERTY, PROP_ACCESS_FREE, NO_ACCDATATYPE, NO_ACCDATATYPE, 0), _dev(dev)
01316 {
01317 }
01318
01319 ~ReadMAGNSVCS()
01320 {
01321 }
01322 virtual AccDevRetStatus read(SLong vrtAcc, const AccData& rcvPara, AccData& sndData, AccStamp& stamp, AccEFICD& eficd);
01323
01324 private:
01325 MXSDevice* _dev;
01326 };
01327
01356 class E_API ReadMAGNSVCI : public DeviceAccess::Usr
01357 {
01358 public:
01359 ReadMAGNSVCI(MXSDevice* dev, const string& propname = "MAGNSVCI") :
01360 Usr(propname, PROP_MODE_READ , MEDLOCK_NONE, MASTER_PROPERTY, PROP_ACCESS_FREE, NO_ACCDATATYPE, NO_ACCDATATYPE, 0), _dev(dev)
01361 {
01362 }
01363
01364 ~ReadMAGNSVCI()
01365 {
01366 }
01367 virtual AccDevRetStatus read(SLong vrtAcc, const AccData& rcvPara, AccData& sndData, AccStamp& stamp, AccEFICD& eficd);
01368
01369 private:
01370 MXSDevice* _dev;
01371 };
01372
01421 class E_API WriteMEDDATAS : public DeviceAccess::Usr
01422 {
01423 public:
01424 WriteMEDDATAS(MXSDevice* dev, const string& propname = "MEDDATAS") :
01425 Usr(propname, PROP_MODE_WRITE , MEDLOCK_NONE, SLAVE_PROPERTY, PROP_ACCESS_FREE, NO_ACCDATATYPE, NO_ACCDATATYPE, 0), _dev(dev)
01426 {
01427 }
01428
01429 ~WriteMEDDATAS()
01430 {
01431 }
01432 virtual AccDevRetStatus write(SLong vrtAcc, const AccData& rcvPara, const AccData& rcvData);
01433
01434 private:
01435 MXSDevice* _dev;
01436 };
01437
01489 class E_API ReadMEDDATAS : public DeviceAccess::Usr
01490 {
01491 public:
01492 ReadMEDDATAS(MXSDevice* dev, const string& propname = "MEDDATAS") :
01493 Usr(propname, PROP_MODE_READ , MEDLOCK_NONE, SLAVE_PROPERTY, PROP_ACCESS_FREE, NO_ACCDATATYPE, NO_ACCDATATYPE, 0), _dev(dev)
01494 {
01495 }
01496
01497 ~ReadMEDDATAS()
01498 {
01499 }
01500 virtual AccDevRetStatus read(SLong vrtAcc, const AccData& rcvPara, AccData& sndData, AccStamp& stamp, AccEFICD& eficd);
01501
01502 private:
01503 MXSDevice* _dev;
01504 };
01505
01558 class E_API ReadMEDDATAI : public DeviceAccess::Usr
01559 {
01560 public:
01561 ReadMEDDATAI(MXSDevice* dev, const string& propname = "MEDDATAI") :
01562 Usr(propname, PROP_MODE_READ , MEDLOCK_NONE, SLAVE_PROPERTY, PROP_ACCESS_FREE, NO_ACCDATATYPE, NO_ACCDATATYPE, 0), _dev(dev)
01563 {
01564 }
01565
01566 ~ReadMEDDATAI()
01567 {
01568 }
01569 virtual AccDevRetStatus read(SLong vrtAcc, const AccData& rcvPara, AccData& sndData, AccStamp& stamp, AccEFICD& eficd);
01570
01571 private:
01572 MXSDevice* _dev;
01573 };
01574
01615 class E_API ReadMSTDATAS : public DeviceAccess::Usr
01616 {
01617 public:
01618 ReadMSTDATAS(MXSDevice* dev, const string& propname = "MSTDATAS") :
01619 Usr(propname, PROP_MODE_READ , MEDLOCK_NONE, MASTER_PROPERTY, PROP_ACCESS_FREE, NO_ACCDATATYPE, NO_ACCDATATYPE, 0), _dev(dev)
01620 {
01621 }
01622
01623 ~ReadMSTDATAS()
01624 {
01625 }
01626 virtual AccDevRetStatus read(SLong vrtAcc, const AccData& rcvPara, AccData& sndData, AccStamp& stamp, AccEFICD& eficd);
01627
01628 private:
01629 MXSDevice* _dev;
01630 };
01631
01678 class E_API ReadMXSCONST : public DeviceAccess::Usr
01679 {
01680 public:
01681 ReadMXSCONST(MXSDevice* dev, const string& propname = "MXSCONST") :
01682 Usr(propname, PROP_MODE_READ , MEDLOCK_NONE, MASTER_PROPERTY, PROP_ACCESS_FREE, NO_ACCDATATYPE, NO_ACCDATATYPE, 0), _dev(dev)
01683 {
01684 }
01685
01686 ~ReadMXSCONST()
01687 {
01688 }
01689 virtual AccDevRetStatus read(SLong vrtAcc, const AccData& rcvPara, AccData& sndData, AccStamp& stamp, AccEFICD& eficd);
01690
01691 virtual AccDevRetStatus readV08(SLong vrtAcc, const AccData& rcvPara, AccData& sndData, AccStamp& stamp, AccEFICD& eficd);
01692
01693 private:
01694 MXSDevice* _dev;
01695 };
01696
01764 class E_API ReadINFOSTAT : public DeviceAccess::Usr
01765 {
01766 public:
01767 ReadINFOSTAT(MXSDevice* dev, const string& propname = "INFOSTAT") :
01768 Usr(propname, PROP_MODE_READ , MEDLOCK_NONE, MASTER_PROPERTY, PROP_ACCESS_FREE, NO_ACCDATATYPE, NO_ACCDATATYPE, 0), _dev(dev)
01769 {
01770 }
01771
01772 ~ReadINFOSTAT()
01773 {
01774 }
01775 virtual AccDevRetStatus read(SLong vrtAcc, const AccData& rcvPara, AccData& sndData, AccStamp& stamp, AccEFICD& eficd);
01776
01777 private:
01778 MXSDevice* _dev;
01779 };
01780
01781
01782
01783 void addUsrs(DeviceAccess::UsrSet& ua, MXSDevice* vd);
01784
01788 }
01789 }
01790
01791 #endif