DIOS.Dev.Generator.Demo.hpp 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. #pragma once
  2. #include <string>
  3. #include "DIOS.Dev.IODevice.Detail.hpp"
  4. #include "DIOS.Dev.Generator.Mould.hpp"
  5. #include "DiosDevThread.h"
  6. #ifndef DIOSDEVGENERATORDEMO_EXPORTS
  7. #ifdef _WIN64
  8. #ifdef _DEBUG
  9. #pragma comment(lib, "DIOS.Dev.Generator.Demo64D.lib")
  10. #else
  11. #pragma comment(lib, "DIOS.Dev.Generator.Demo64.lib")
  12. #endif
  13. #else
  14. #ifdef _DEBUG
  15. #pragma comment(lib, "DIOS.Dev.Generator.DemoD.lib")
  16. #else
  17. #pragma comment(lib, "DIOS.Dev.Generator.Demo.lib")
  18. #endif
  19. #endif
  20. #endif
  21. #ifdef DIOSDEVGENERATORDEMO_EXPORTS
  22. #define _DIOSDEVGENERATORDEMO_API __declspec(dllexport)
  23. #else
  24. #define _DIOSDEVGENERATORDEMO_API __declspec(dllimport)
  25. #endif
  26. namespace DIOS::Dev::Detail::Generator
  27. {
  28. namespace nsDetail = DIOS::Dev::Detail;
  29. class IMGNotifyThread :public Thread_Base
  30. {
  31. public:
  32. IMGNotifyThread(class DemoDevice* pSubSystem);
  33. //HANDLE m_ExitFlag = CreateEvent(NULL, FALSE, FALSE, NULL);
  34. protected:
  35. bool Exec(void);
  36. DemoDevice* m_pSubSystemManager;
  37. };
  38. //-----------------------------------------------------------------------------
  39. // GENDeviceMould
  40. //-----------------------------------------------------------------------------
  41. namespace nDev = DIOS::Dev;
  42. class _DIOSDEVGENERATORDEMO_API DemoDevice : public IODeviceDetail, public GeneratorMould
  43. {
  44. using super = IODeviceDetail;
  45. using superGen = GeneratorMould;
  46. public:
  47. DemoDevice (std::shared_ptr <IOEventCenter> center);
  48. ~DemoDevice ();
  49. private:
  50. void OnRegister();
  51. virtual std::string GetGUID() const;
  52. public:
  53. virtual nDev::RET_STATUS IncKV () override;
  54. virtual nDev::RET_STATUS DecKV () override;
  55. virtual nDev::RET_STATUS SetKV (float value) override;
  56. virtual nDev::RET_STATUS IncMA () override;
  57. virtual nDev::RET_STATUS DecMA () override;
  58. virtual nDev::RET_STATUS SetMA (float value) override;
  59. virtual nDev::RET_STATUS IncMS () override;
  60. virtual nDev::RET_STATUS DecMS () override;
  61. virtual nDev::RET_STATUS SetMS (float value) override;
  62. virtual nDev::RET_STATUS IncMAS () override;
  63. virtual nDev::RET_STATUS DecMAS () override;
  64. virtual nDev::RET_STATUS SetMAS (float value) override;
  65. virtual nDev::RET_STATUS SetTechmode (int value) override;
  66. virtual nDev::RET_STATUS SetFocus (int value) override;
  67. virtual nDev::RET_STATUS SetAECDensity (int value) override;
  68. virtual nDev::RET_STATUS SetAECField (int value) override;
  69. virtual nDev::RET_STATUS SetAECFilm (int value) override;
  70. virtual nDev::RET_STATUS SetWS (const std::string value) override;
  71. virtual nDev::RET_STATUS SetAPR (const _tAPRArgs& t) override;
  72. virtual nDev::RET_STATUS QueryHE(int& value) override;
  73. virtual nDev::RET_STATUS QueryPostKV(float& value) override;
  74. virtual nDev::RET_STATUS QueryPostMA(float& value) override;
  75. virtual nDev::RET_STATUS QueryPostMS(float& value) override;
  76. virtual nDev::RET_STATUS QueryPostMAS(float& value) override;
  77. virtual nDev::RET_STATUS SetGenSynState(int value) override;
  78. virtual nDev::RET_STATUS SetGenState(int value) override;
  79. virtual nDev::RET_STATUS SetExpEnable() override;
  80. virtual nDev::RET_STATUS SetExpDisable()override;
  81. virtual nDev::RET_STATUS Reset()override;
  82. IMGNotifyThread* m_pProcessImageNotify;
  83. protected:
  84. std::vector <float> MA_List;
  85. std::vector <float> MS_List;
  86. std::vector <float> MAS_List;
  87. private:
  88. void FireNotify(std::string key, std::string context);
  89. };
  90. }