DIOS.Dev.DAP.Mould.hpp 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. #pragma once
  2. #include <string>
  3. #include "DIOS.Dev.IODevice.hpp"
  4. #include "DIOS.Dev.IODevice.Detail.hpp"
  5. #include "DAP.BasicMoulds.hpp"
  6. #include "DriverConfigInfo.hpp"
  7. namespace nsDetail = DIOS::Dev::Detail;
  8. #ifndef DIOSDEVDAPDEVICEMOULD_EXPORTS
  9. #ifdef _WIN64
  10. #ifdef _DEBUG
  11. #pragma comment(lib, "DIOS.Dev.DAP.Mould64D.lib")
  12. #else
  13. #pragma comment(lib, "DIOS.Dev.DAP.Mould64.lib")
  14. #endif
  15. #else
  16. #ifdef _DEBUG
  17. #pragma comment(lib, "DIOS.Dev.DAP.MouldD.lib")
  18. #else
  19. #pragma comment(lib, "DIOS.Dev.DAP.MouldD.lib")
  20. #endif
  21. #endif
  22. #endif
  23. #ifdef DIOSDEVDAPDEVICEMOULD_EXPORTS
  24. #define _DIOSDEVDAPDEVICEMOULD_API __declspec(dllexport)
  25. #else
  26. #define _DIOSDEVDAPDEVICEMOULD_API __declspec(dllimport)
  27. #endif
  28. #pragma warning (disable:4251) // warning C4251: class “DIOS::Dev::Detail::Generator::DoseUnit”需要有 dll 接口由 class“DIOS::Dev::Detail::Generator::DAPMould”的客户端使用
  29. namespace DIOS::Dev::Detail::DAP
  30. {
  31. //获取日志配置路径
  32. _DIOSDEVDAPDEVICEMOULD_API string GetProcessDirectory();
  33. //获取配置文件中指定模块的版本号
  34. _DIOSDEVDAPDEVICEMOULD_API bool GetVersion(string& version, HMODULE hMyModule);
  35. _DIOSDEVDAPDEVICEMOULD_API bool GetVersion(string& version, ResDataObject& config);
  36. _DIOSDEVDAPDEVICEMOULD_API bool GetVersion(string& version);
  37. _DIOSDEVDAPDEVICEMOULD_API void TransJsonText(ResDataObject& config);
  38. //-----------------------------------------------------------------------------
  39. // DAPUnit
  40. //-----------------------------------------------------------------------------
  41. class _DIOSDEVDAPDEVICEMOULD_API DAPUnit : public IOLogicUnit
  42. {
  43. public:
  44. DAPUnit() {};
  45. virtual ~DAPUnit() {};
  46. public:
  47. std::unique_ptr<DOSEMould> m_DAP;
  48. std::unique_ptr<ConnectionStatusMould> m_ConnectionStatus;
  49. };
  50. //-----------------------------------------------------------------------------
  51. // DAPMould
  52. //-----------------------------------------------------------------------------
  53. namespace nDev = DIOS::Dev;
  54. class _DIOSDEVDAPDEVICEMOULD_API DAPMould
  55. {
  56. public:
  57. DAPMould ();
  58. ~DAPMould ();
  59. protected:
  60. virtual void Register(Dispatch* Dispatch);
  61. private:
  62. //caoxue
  63. RET_STATUS JSGetDAP(std::string& out);
  64. RET_STATUS JSGetConnectionStatus(std::string& out);
  65. RET_STATUS JSResetDAP(std::string in, std::string& out);
  66. RET_STATUS JSObtainDAP(std::string in, std::string& out);
  67. protected:
  68. virtual float GetDAP();
  69. virtual float GetConnectionStatus();
  70. virtual RET_STATUS ClearDAP() = 0;
  71. virtual RET_STATUS QueryDAP(float& value) = 0;
  72. virtual RET_STATUS SetGenCurrentSMState(const std::string value);
  73. virtual RET_STATUS SetGenPostKV(const std::string value);
  74. virtual RET_STATUS SetGenPostMAS(const std::string value);
  75. virtual RET_STATUS SetGenPostMA(const std::string value);
  76. virtual RET_STATUS SetGenPostMS(const std::string value);
  77. virtual RET_STATUS SetCollSID(const std::string value);
  78. virtual RET_STATUS SetCollXSIZE(const std::string value);
  79. virtual RET_STATUS SetCollYSIZE(const std::string value);
  80. protected:
  81. DAPUnit m_DAPUnit;
  82. };
  83. }
  84. namespace DIOS::Dev::Detail::DAP
  85. {
  86. class _DIOSDEVDAPDEVICEMOULD_API DriverMould : public DIOS::Dev::IODriver
  87. {
  88. public:
  89. DriverMould ();
  90. ~DriverMould ();
  91. virtual std::string GetGUID () const;
  92. virtual string GetConnectDLL(string& ConfigFileName);
  93. virtual ResDataObject GetConnectParam(string& ConfigFileName);
  94. protected:
  95. std::list <ConfigInfo> m_ConfigInfo;
  96. };
  97. }