#pragma once #include"LogicDevice.h" #include "ResDataObject.h" #include"DIOSLogicDeviceStructure.h" #ifdef FPDCOMMUNICATEWITHOTHERDEVICE_EXPORTS #define FPDCOMMUNICATEWITHOTHERDEVICE_API __declspec(dllexport) #else #define FPDCOMMUNICATEWITHOTHERDEVICE_API __declspec(dllimport) #endif #ifndef FPDCOMMUNICATEWITHOTHERDEVICE_EXPORTS #ifdef _WIN64 #ifdef _DEBUG #pragma comment(lib, "FPDCommunicateWithOtherDeviceX64D.lib") #else #pragma comment(lib, "FPDCommunicateWithOtherDeviceX64.lib") #endif #else #ifdef _DEBUG #pragma comment(lib, "FPDCommunicateWithOtherDeviceD.lib") #else #pragma comment(lib, "FPDCommunicateWithOtherDevice.lib") #endif #endif #endif #ifdef FPDCOMMUNICATEWITHOTHERDEVICE_EXPORTS #define FPDCOMMUNICATEWITHOTHERDEVICE_API __declspec(dllexport) #define FPDCOMMUNICATEWITHOTHERDEVICE_C_API extern "C" __declspec(dllexport) #else #define FPDCOMMUNICATEWITHOTHERDEVICE_API __declspec(dllimport) #define FPDCOMMUNICATEWITHOTHERDEVICE_C_API extern "C" __declspec(dllimport) #endif // 此类是从 FPDCommunicateWithOtherDevice.dll 导出的 class FPDCOMMUNICATEWITHOTHERDEVICE_API CFPDCommunicateWithOtherDevice :public LogicDevice { BaseJsonDataObject* m_strPanelSN; BaseJsonDataObject* m_nCAL; BaseJsonDataObject* m_nCAM; BaseJsonDataObject* m_nHWcrop; BaseJsonDataObject* m_nPanelRotate; BaseJsonDataObject* m_nCollimatorAlign; BaseJsonDataObject* m_nWorkStation; BaseJsonDataObject* m_fCollimatorWidth; BaseJsonDataObject* m_fCollimatorLen; BaseJsonDataObject* m_fAPRms; BaseJsonDataObject* m_bLTEenable; float m_fLTEthreshold; public: CFPDCommunicateWithOtherDevice(void); ~CFPDCommunicateWithOtherDevice(void); //get device type virtual bool SYSTEM_CALL GetDeviceType(GUID &DevType); //get device resource virtual RET_STATUS SYSTEM_CALL GetDeviceResource(ResDataObject PARAM_OUT *pDeviceResource); //ResourceCommand Request In and Response Out virtual RET_STATUS SYSTEM_CALL Request(ResDataObject PARAM_IN *pRequest, ResDataObject PARAM_OUT *pResponse); //notify to lower layer virtual RET_STATUS SYSTEM_CALL CmdToLogicDev(ResDataObject PARAM_IN *pCmd); virtual RET_STATUS DATA_ACTION OnSetPanelSN(int nWS, string strValue); virtual RET_STATUS DATA_ACTION OnCAL(unsigned int nValue); virtual RET_STATUS DATA_ACTION OnCAM(unsigned int nValue); virtual RET_STATUS DATA_ACTION OnHWcrop(unsigned int nValue); virtual RET_STATUS DATA_ACTION OnPANEL_ROTATE(unsigned int nValue); virtual RET_STATUS DATA_ACTION OnCollimatorAlign(unsigned int nValue); virtual RET_STATUS DATA_ACTION OnCollimatorWidth(float fValue); virtual RET_STATUS DATA_ACTION OnCollimatorLen(float fValue); virtual RET_STATUS DATA_ACTION OnAPRms(float fValue); virtual RET_STATUS DATA_ACTION OnWorkStation(unsigned int nValue); virtual RET_STATUS DATA_ACTION OnPanelResetAllErr(); virtual RET_STATUS DATA_ACTION OnPanelErr(string strSN, string strValue); virtual RET_STATUS DATA_ACTION OnPanelWarn(string strSN, string strValue); RET_STATUS OEM_IF GetSetPanelSN(string & strValue); RET_STATUS OEM_IF GetHWcrop(unsigned int & nValue); RET_STATUS OEM_IF GetPANEL_ROTATE(unsigned int & nValue); RET_STATUS OEM_IF GetCollimatorAlign(unsigned int & nValue); RET_STATUS OEM_IF GetCollimatorWidth(float & fValue); RET_STATUS OEM_IF GetCollimatorLen(float & fValue); RET_STATUS OEM_IF GetAPRms(float & fValue); RET_STATUS OEM_IF GetWorkStation(unsigned int & nValue); RET_STATUS DATA_ACTION SetLTEthreshold(float fValue); };