DIOS.Dev.UIClient.Mould.hpp 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  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. };
  56. //-----------------------------------------------------------------------------
  57. // UIClientMould
  58. //-----------------------------------------------------------------------------
  59. namespace nDev = DIOS::Dev;
  60. class _DIOSDEVUIClientDEVICEMOULD_API UIClientMould
  61. {
  62. public:
  63. UIClientMould ();
  64. ~UIClientMould ();
  65. protected:
  66. virtual void Register(Dispatch* Dispatch);
  67. private:
  68. //caoxue
  69. nDev::RET_STATUS JSSetHET(std::string in, std::string& out);
  70. nDev::RET_STATUS JSSetSHO(std::string in, std::string& out);
  71. nDev::RET_STATUS JSSetSTA(std::string in, std::string& out);
  72. nDev::RET_STATUS JSSetPIM(std::string in, std::string& out);
  73. nDev::RET_STATUS JSSetSSI(std::string in, std::string& out);
  74. nDev::RET_STATUS JSSetSMV(std::string in, std::string& out);
  75. nDev::RET_STATUS JSSetCFM(std::string in, std::string& out);
  76. nDev::RET_STATUS JSSetBRM(std::string in, std::string& out);
  77. nDev::RET_STATUS JSSetERA(std::string in, std::string& out);
  78. protected:
  79. virtual nDev::RET_STATUS SetHET() = 0; //模拟测试热容量
  80. virtual nDev::RET_STATUS SetSHO(bool state) = 0;//设置检查名称是否正确
  81. virtual nDev::RET_STATUS SetSTA(int state) = 0;//设置软件状态
  82. virtual nDev::RET_STATUS SetPIM(const char* viewname) = 0;;//设置当前view名称到TUI
  83. virtual nDev::RET_STATUS SetSSI(const char* key, const char* value) = 0;//设置系统信息
  84. virtual nDev::RET_STATUS SetSMV(const char* key, const char* value) = 0;//设置组件版本信息
  85. virtual nDev::RET_STATUS SetCFM(const char* key, const char* value) = 0;//设置处理配置文件结果
  86. virtual nDev::RET_STATUS SetBRM(int state) = 0;//设置backup结果
  87. virtual nDev::RET_STATUS SetERA(int state) = 0;//检查最后错误数目
  88. //nDev::RET_STATUS GetSDN(IOEventCenter* ioEventCenter,int& state, int& delaytime);//自动关机功能:state 0,取消自动关机,1,关闭电脑, 2,关闭APP;delaytime:单位s
  89. protected:
  90. UIClientUnit m_UIClientUnit;
  91. };
  92. }