DIOS.Dev.UIClient.Mould.hpp 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. #pragma once
  2. #include <string>
  3. #include "DIOS.Dev.IODevice.hpp"
  4. #include "DIOS.Dev.IODevice.Detail.hpp"
  5. #include "UIClient.BasicMoulds.hpp"
  6. //#include "DriverConfigInfo.tlh"
  7. //#include "DriverConfigInfo.tli"
  8. #include "DIOSDICOMInfo.h"
  9. namespace nsDetail = DIOS::Dev::Detail;
  10. #ifndef DIOSDEVUIClientDEVICEMOULD_EXPORTS
  11. #ifdef _WIN64
  12. #ifdef _DEBUG
  13. #pragma comment(lib, "DIOS.Dev.UIClient.Mould64D.lib")
  14. #else
  15. #pragma comment(lib, "DIOS.Dev.UIClient.Mould64.lib")
  16. #endif
  17. #else
  18. #ifdef _DEBUG
  19. #pragma comment(lib, "DIOS.Dev.UIClient.MouldD.lib")
  20. #else
  21. #pragma comment(lib, "DIOS.Dev.UIClient.MouldD.lib")
  22. #endif
  23. #endif
  24. #endif
  25. #ifdef DIOSDEVUIClientDEVICEMOULD_EXPORTS
  26. #define _DIOSDEVUIClientDEVICEMOULD_API __declspec(dllexport)
  27. #else
  28. #define _DIOSDEVUIClientDEVICEMOULD_API __declspec(dllimport)
  29. #endif
  30. #pragma warning (disable:4251) // warning C4251: class “DIOS::Dev::Detail::Generator::DoseUnit”需要有 dll 接口由 class“DIOS::Dev::Detail::Generator::UIClientMould”的客户端使用
  31. namespace DIOS::Dev::Detail::UIClient
  32. {
  33. //-----------------------------------------------------------------------------
  34. // UIClientUnit
  35. //-----------------------------------------------------------------------------
  36. class _DIOSDEVUIClientDEVICEMOULD_API UIClientUnit : public IOLogicUnit
  37. {
  38. public:
  39. UIClientUnit() {};
  40. virtual ~UIClientUnit() {};
  41. public:
  42. std::unique_ptr<ERAMould> m_ERA;
  43. std::unique_ptr<RSIMould> m_RSI;
  44. std::unique_ptr<RMVMould> m_RMV;
  45. std::unique_ptr<CFMMould> m_CFM;
  46. std::unique_ptr<BRMMould> m_BRM;
  47. std::unique_ptr<PLSMould> m_PLS;
  48. std::unique_ptr<UDOMould> m_UDO;
  49. std::unique_ptr<SHSMould> m_SHS;
  50. std::unique_ptr<STMMould> m_STM;
  51. std::unique_ptr<SDFMould> m_SDF;
  52. std::unique_ptr<SOPMould> m_SOP;
  53. std::unique_ptr<SCREENLOCKMould> m_SCREENLOCK;
  54. std::unique_ptr<SDNMould> m_SDN; //自动关机功能:state 0,取消自动关机,1,关闭电脑, 2,关闭APP;delaytime:单位s
  55. std::unique_ptr<AUTOCONFIGMould> m_AutoConfig; //Autoconfig 1:autoconfig success;0:fail;
  56. std::unique_ptr<WS2FDMould> m_WS2FD; //7:Free1(Large detector); 8:Free2(Small Detector)
  57. std::unique_ptr<AUDITMSGMould> m_AuditMessage; //AuditMessage
  58. };
  59. //-----------------------------------------------------------------------------
  60. // UIClientMould
  61. //-----------------------------------------------------------------------------
  62. namespace nDev = DIOS::Dev;
  63. class _DIOSDEVUIClientDEVICEMOULD_API UIClientMould
  64. {
  65. public:
  66. UIClientMould ();
  67. ~UIClientMould ();
  68. protected:
  69. virtual void Register(Dispatch* Dispatch);
  70. private:
  71. //caoxue
  72. RET_STATUS JSSetHET(std::string in, std::string& out);
  73. RET_STATUS JSSetSHO(std::string in, std::string& out);
  74. RET_STATUS JSSetSTA(std::string in, std::string& out);
  75. RET_STATUS JSSetPIM(std::string in, std::string& out);
  76. RET_STATUS JSSetSSI(std::string in, std::string& out);
  77. RET_STATUS JSSetSMV(std::string in, std::string& out);
  78. RET_STATUS JSSetCFM(std::string in, std::string& out);
  79. RET_STATUS JSSetBRM(std::string in, std::string& out);
  80. RET_STATUS JSSetERA(std::string in, std::string& out);
  81. RET_STATUS JSSetScreenLockState(std::string in, std::string& out);
  82. RET_STATUS JSSetFDSerialNumber(std::string in, std::string& out);
  83. RET_STATUS JSSetUIDoing(std::string in, std::string& out);
  84. protected:
  85. virtual RET_STATUS SetHET() = 0; //模拟测试热容量
  86. virtual RET_STATUS SetSHO(bool state) = 0;//设置检查名称是否正确
  87. virtual RET_STATUS SetSTA(int state) = 0;//设置软件状态
  88. virtual RET_STATUS SetPIM(const char* viewname) = 0;;//设置当前view名称到TUI
  89. virtual RET_STATUS SetSSI(const char* key, const char* value) = 0;//设置系统信息
  90. virtual RET_STATUS SetSMV(const char* key, const char* value) = 0;//设置组件版本信息
  91. virtual RET_STATUS SetCFM(const char* key, const char* value) = 0;//设置处理配置文件结果
  92. virtual RET_STATUS SetBRM(int state) = 0;//设置backup结果
  93. virtual RET_STATUS SetERA(int state) = 0;//检查最后错误数目
  94. virtual RET_STATUS SetScreenLockState(int state) = 0;//设置锁屏功能
  95. virtual RET_STATUS SetFDSerialNumber(const char* key, const char* value) = 0;//设置探测器序列号 7:Free1(Large detector); 8:Free2(Small Detector)
  96. virtual RET_STATUS SetUIDoing(void) = 0;//设置UI操作
  97. protected:
  98. UIClientUnit m_UIClientUnit;
  99. };
  100. }