#pragma once #include #include "DIOS.Dev.IODevice.Detail.hpp" #include "DIOS.Dev.Generator.Mould.hpp" #include "DiosDevThread.h" #ifndef DIOSDEVGENERATORDEMO_EXPORTS #ifdef _WIN64 #ifdef _DEBUG #pragma comment(lib, "DIOS.Dev.Generator.Demo64D.lib") #else #pragma comment(lib, "DIOS.Dev.Generator.Demo64.lib") #endif #else #ifdef _DEBUG #pragma comment(lib, "DIOS.Dev.Generator.DemoD.lib") #else #pragma comment(lib, "DIOS.Dev.Generator.Demo.lib") #endif #endif #endif #ifdef DIOSDEVGENERATORDEMO_EXPORTS #define _DIOSDEVGENERATORDEMO_API __declspec(dllexport) #else #define _DIOSDEVGENERATORDEMO_API __declspec(dllimport) #endif namespace DIOS::Dev::Detail::Generator { namespace nsDetail = DIOS::Dev::Detail; class IMGNotifyThread :public Thread_Base { public: IMGNotifyThread(class DemoDevice* pSubSystem); //HANDLE m_ExitFlag = CreateEvent(NULL, FALSE, FALSE, NULL); protected: bool Exec(void); DemoDevice* m_pSubSystemManager; }; //----------------------------------------------------------------------------- // GENDeviceMould //----------------------------------------------------------------------------- namespace nDev = DIOS::Dev; class _DIOSDEVGENERATORDEMO_API DemoDevice : public IODeviceDetail, public GeneratorMould { using super = IODeviceDetail; using superGen = GeneratorMould; public: DemoDevice (std::shared_ptr center); ~DemoDevice (); private: void OnRegister(); virtual std::string GetGUID() const; public: virtual nDev::RET_STATUS IncKV () override; virtual nDev::RET_STATUS DecKV () override; virtual nDev::RET_STATUS SetKV (float value) override; virtual nDev::RET_STATUS IncMA () override; virtual nDev::RET_STATUS DecMA () override; virtual nDev::RET_STATUS SetMA (float value) override; virtual nDev::RET_STATUS IncMS () override; virtual nDev::RET_STATUS DecMS () override; virtual nDev::RET_STATUS SetMS (float value) override; virtual nDev::RET_STATUS IncMAS () override; virtual nDev::RET_STATUS DecMAS () override; virtual nDev::RET_STATUS SetMAS (float value) override; virtual nDev::RET_STATUS SetTechmode (int value) override; virtual nDev::RET_STATUS SetFocus (int value) override; virtual nDev::RET_STATUS SetAECDensity (int value) override; virtual nDev::RET_STATUS SetAECField (int value) override; virtual nDev::RET_STATUS SetAECFilm (int value) override; virtual nDev::RET_STATUS SetWS (const std::string value) override; virtual nDev::RET_STATUS SetAPR (const _tAPRArgs& t) override; virtual nDev::RET_STATUS QueryHE(int& value) override; virtual nDev::RET_STATUS QueryPostKV(float& value) override; virtual nDev::RET_STATUS QueryPostMA(float& value) override; virtual nDev::RET_STATUS QueryPostMS(float& value) override; virtual nDev::RET_STATUS QueryPostMAS(float& value) override; virtual nDev::RET_STATUS SetGenSynState(int value) override; virtual nDev::RET_STATUS SetGenState(int value) override; virtual nDev::RET_STATUS SetExpEnable() override; virtual nDev::RET_STATUS SetExpDisable()override; virtual nDev::RET_STATUS Reset()override; IMGNotifyThread* m_pProcessImageNotify; protected: std::vector MA_List; std::vector MS_List; std::vector MAS_List; private: void FireNotify(std::string key, std::string context); }; }