#pragma once #include #include "DIOS.Dev.IODevice.hpp" #include "DIOS.Dev.IODevice.Detail.hpp" #include "UIClient.BasicMoulds.hpp" //#include "DriverConfigInfo.tlh" //#include "DriverConfigInfo.tli" #include "DIOSDICOMInfo.h" namespace nsDetail = DIOS::Dev::Detail; #ifndef DIOSDEVUIClientDEVICEMOULD_EXPORTS #ifdef _WIN64 #ifdef _DEBUG #pragma comment(lib, "DIOS.Dev.UIClient.Mould64D.lib") #else #pragma comment(lib, "DIOS.Dev.UIClient.Mould64.lib") #endif #else #ifdef _DEBUG #pragma comment(lib, "DIOS.Dev.UIClient.MouldD.lib") #else #pragma comment(lib, "DIOS.Dev.UIClient.MouldD.lib") #endif #endif #endif #ifdef DIOSDEVUIClientDEVICEMOULD_EXPORTS #define _DIOSDEVUIClientDEVICEMOULD_API __declspec(dllexport) #else #define _DIOSDEVUIClientDEVICEMOULD_API __declspec(dllimport) #endif #pragma warning (disable:4251) // warning C4251: class “DIOS::Dev::Detail::Generator::DoseUnit”需要有 dll 接口由 class“DIOS::Dev::Detail::Generator::UIClientMould”的客户端使用 namespace DIOS::Dev::Detail::UIClient { //----------------------------------------------------------------------------- // UIClientUnit //----------------------------------------------------------------------------- class _DIOSDEVUIClientDEVICEMOULD_API UIClientUnit : public IOLogicUnit { public: UIClientUnit() {}; virtual ~UIClientUnit() {}; public: std::unique_ptr m_ERA; std::unique_ptr m_RSI; std::unique_ptr m_RMV; std::unique_ptr m_CFM; std::unique_ptr m_BRM; std::unique_ptr m_PLS; std::unique_ptr m_UDO; std::unique_ptr m_SHS; std::unique_ptr m_STM; std::unique_ptr m_SDF; std::unique_ptr m_SOP; std::unique_ptr m_SCREENLOCK; std::unique_ptr m_SDN; //自动关机功能:state 0,取消自动关机,1,关闭电脑, 2,关闭APP;delaytime:单位s std::unique_ptr m_AutoConfig; //Autoconfig 1:autoconfig success;0:fail; std::unique_ptr m_WS2FD; //7:Free1(Large detector); 8:Free2(Small Detector) std::unique_ptr m_AuditMessage; //AuditMessage }; //----------------------------------------------------------------------------- // UIClientMould //----------------------------------------------------------------------------- namespace nDev = DIOS::Dev; class _DIOSDEVUIClientDEVICEMOULD_API UIClientMould { public: UIClientMould (); ~UIClientMould (); protected: virtual void Register(Dispatch* Dispatch); private: //caoxue RET_STATUS JSSetHET(std::string in, std::string& out); RET_STATUS JSSetSHO(std::string in, std::string& out); RET_STATUS JSSetSTA(std::string in, std::string& out); RET_STATUS JSSetPIM(std::string in, std::string& out); RET_STATUS JSSetSSI(std::string in, std::string& out); RET_STATUS JSSetSMV(std::string in, std::string& out); RET_STATUS JSSetCFM(std::string in, std::string& out); RET_STATUS JSSetBRM(std::string in, std::string& out); RET_STATUS JSSetERA(std::string in, std::string& out); RET_STATUS JSSetScreenLockState(std::string in, std::string& out); RET_STATUS JSSetFDSerialNumber(std::string in, std::string& out); RET_STATUS JSSetUIDoing(std::string in, std::string& out); protected: virtual RET_STATUS SetHET() = 0; //模拟测试热容量 virtual RET_STATUS SetSHO(bool state) = 0;//设置检查名称是否正确 virtual RET_STATUS SetSTA(int state) = 0;//设置软件状态 virtual RET_STATUS SetPIM(const char* viewname) = 0;;//设置当前view名称到TUI virtual RET_STATUS SetSSI(const char* key, const char* value) = 0;//设置系统信息 virtual RET_STATUS SetSMV(const char* key, const char* value) = 0;//设置组件版本信息 virtual RET_STATUS SetCFM(const char* key, const char* value) = 0;//设置处理配置文件结果 virtual RET_STATUS SetBRM(int state) = 0;//设置backup结果 virtual RET_STATUS SetERA(int state) = 0;//检查最后错误数目 virtual RET_STATUS SetScreenLockState(int state) = 0;//设置锁屏功能 virtual RET_STATUS SetFDSerialNumber(const char* key, const char* value) = 0;//设置探测器序列号 7:Free1(Large detector); 8:Free2(Small Detector) virtual RET_STATUS SetUIDoing(void) = 0;//设置UI操作 protected: UIClientUnit m_UIClientUnit; }; }