#pragma once #ifndef CALCMDUNITLOGIC_EXPORTS #ifdef _WIN64 #ifdef _DEBUG #pragma comment(lib, "CalCmdUnitLogicX64D.lib") #else #pragma comment(lib, "CalCmdUnitLogicX64.lib") #endif #else #ifdef _DEBUG #pragma comment(lib, "CalCmdUnitLogicD.lib") #else #pragma comment(lib, "CalCmdUnitLogic.lib") #endif #endif #endif #define PARAM_IN_TYPE #ifdef CALCMDUNITLOGIC_EXPORTS #define CALCMDUNITLOGIC_API __declspec(dllexport) #else #define CALCMDUNITLOGIC_API __declspec(dllimport) #endif #include"LogicDevice.h" #include"DIOSLogicDeviceStructure.h" class CALCMDUNITLOGIC_API CalCmdUnitLogic : public LogicDevice { private: BaseJsonDataObject* m_AppMode; BaseJsonDataObject* m_ExamMode; BaseJsonDataObject* m_CalType; BaseJsonDataObject* m_Dose; BaseJsonDataObject* m_HaveImgCal; BaseJsonDataObject* m_OffsetTotalNum; BaseJsonDataObject* m_XrayTotalNum; //Notify BaseJsonDataObject* m_CalibrationActive; BaseJsonDataObject* m_CalibrationRunning; BaseJsonDataObject* m_CalibrationProcessCounter; BaseJsonDataObject* m_CalibrationPause; BaseJsonDataObject* m_CalibrationResult; BaseJsonDataObject* m_CalibrationEnd; //Notify end BaseJsonDataObject* m_PixelSpacing; BaseJsonDataObject* m_ActiveDimension; BaseJsonDataObject* m_DetectorActiveTime; BaseJsonDataObject* m_DetectorActivationOffsetFromExposure; BaseJsonDataObject* m_FieldofViewShape; BaseJsonDataObject* m_ViewDimension; BaseJsonDataObject* m_DetectorType; BaseJsonDataObject* m_DetectorConfiguration; BaseJsonDataObject* m_strTimeofLastDetectorCalibration; BaseJsonDataObject* m_ConditionsNominalFlag; BaseJsonDataObject* m_Sensitivity; BaseJsonDataObject* m_DetectorElementPhysicalSize; BaseJsonDataObject* m_DetectorElementSpacing; BaseJsonDataObject* m_DetectorActiveShape; BaseJsonDataObject* m_DetectorActiveDimension; BaseJsonDataObject* m_DetectorActiveOrigin; BaseJsonDataObject* m_LossyImageCompression; BaseJsonDataObject* m_RescaleType; BaseJsonDataObject* m_PixelIntensityRelationship; BaseJsonDataObject* m_ImageReferUGY; BaseJsonDataObject* m_UGYShowType; BaseJsonDataObject* m_FactorEXI2UGY; OFFSETT_CAL_ATTR* m_Oft_Cal_Attr; XRAY_CAL_ATTR* m_Gain_Cal_Attr; XRAY_CAL_ATTR* m_Defect_Cal_Attr; char m_chLog[512]; void LogInfo(string string); void LogWarn(string string); void LogError(string string); public: CalCmdUnitLogic(void); virtual ~CalCmdUnitLogic(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); //errors,warnings void SetErrorInfo(int errCode, char *pErrInfo); void SetWarningInfo(int warningCode, char *pWarningInfo); public: //void LogInfo(string str); //void LogWarn(string str); //void LogError(string str); private://Data²ãʵÏÖ£¬Owner bool Support_GetAppMode(); bool Support_SetAppMode(); bool Support_GetExamMode(); bool Support_SetExamMode(); bool Support_GetSEQResource(); bool Support_SeqPrepState(); bool Support_GetDoseReq(); RET_STATUS DATA_ACTION GetDoseReq(unsigned long PARAM_OUT&nDose); RET_STATUS DATA_ACTION SeqPrepState(); RET_STATUS DATA_ACTION GetSEQResource(ResDataObject*res); RET_STATUS DATA_ACTION GetAppMode(unsigned int PARAM_OUT&AppMode); RET_STATUS DATA_ACTION SetAppMode(unsigned int PARAM_IN AppMode); RET_STATUS DATA_ACTION GetExamMode(unsigned int PARAM_OUT&ExamMode); RET_STATUS DATA_ACTION SetExamMode(unsigned int PARAM_IN ExamMode); public://data define,oem use RET_STATUS SetDose(unsigned long nDose); RET_STATUS SetCalType(unsigned int nType); RET_STATUS SetGainCalAttr(Xray_Cal_Attr_Struct Gain_Cal_Attr); RET_STATUS SetDefectCalAttr(Xray_Cal_Attr_Struct Defect_Cal_Attr); RET_STATUS SetOffsetCalAttr(Offset_Cal_Attr_Struct Offset_Cal_Attr); RET_STATUS SetDoseReq(unsigned long nDose); RET_STATUS SetHaveImgCal(bool HaveImgCal); RET_STATUS SetOffsetTotalNum(unsigned int OffsetTotalNum); RET_STATUS SetXrayTotalNum(unsigned int XrayTotalNum); RET_STATUS SetCalibrationActive(unsigned int CalibrationActive); RET_STATUS SetCalibrationRunning(unsigned int CalibrationRunning); RET_STATUS SetCalibrationProcessCounter(unsigned int CalibrationProcessCounter); RET_STATUS SetCalibrationPause(bool CalibrationPause); RET_STATUS SetCalibrationResult(bool CalibrationResult); RET_STATUS SetCalibrationEnd(bool CalibrationEnd); RET_STATUS SetPixelSpacing(string PixelSpacing); RET_STATUS SetActiveDimension(string ActiveDimension); RET_STATUS SetDetectorActiveTime(string DetectorActiveTime); RET_STATUS SetDetectorActivationOffsetFromExposure(string DetectorActivationOffsetFromExposure); RET_STATUS SetFieldofViewShape(string FieldofViewShape); RET_STATUS SetViewDimension(string ViewDimension); RET_STATUS SetDetectorType(string DetectorType); RET_STATUS SetDetectorConfiguration(string DetectorConfiguration); RET_STATUS SetstrTimeofLastDetectorCalibration(string strTimeofLastDetectorCalibration); RET_STATUS SetConditionsNominalFlag(string ConditionsNominalFlag); RET_STATUS SetSensitivity(string Sensitivity); RET_STATUS SetDetectorElementPhysicalSize(string DetectorElementPhysicalSize); RET_STATUS SetDetectorElementSpacing(string DetectorElementSpacing); RET_STATUS SetDetectorActiveShape(string DetectorActiveShape); RET_STATUS SetDetectorActiveDimension(string DetectorActiveDimension); RET_STATUS SetDetectorActiveOrigin(string DetectorActiveOrigin); RET_STATUS SetLossyImageCompression(string LossyImageCompression); RET_STATUS SetRescaleType(string RescaleType); RET_STATUS SetPixelIntensityRelationship(string PixelIntensityRelationship); RET_STATUS SetImageReferUGY(string ImageReferUGY); RET_STATUS SetUGYShowType(string UGYShowType); RET_STATUS SetFactorEXI2UGY(string FactorEXI2UGY); public: virtual bool Support_StartCalibration(); virtual bool Support_AcceptCurrImgage(); virtual bool Support_RejectCurrImgage(); virtual bool Support_AbortCalibration(); virtual bool Support_FinishCalibration(); virtual RET_STATUS DEVICE_ACTION StartCalibration(unsigned int calibrationtype); virtual RET_STATUS DEVICE_ACTION AcceptCurrImgage(void); virtual RET_STATUS DEVICE_ACTION RejectCurrImgage(void); virtual RET_STATUS DEVICE_ACTION AbortCalibration(void); virtual RET_STATUS DEVICE_ACTION FinishCalibration(void); virtual bool Support_StartDarkCalibration(); virtual bool Support_AbortDarkCalibration(); virtual bool Support_ActiveXrayCalibration(); virtual bool Support_StartXrayCalibration(); virtual bool Support_AbortXrayCalibration(); virtual bool Support_CalTypeOffset(); virtual bool Support_CalTypeGain(); virtual bool Support_CalTypeDefect(); virtual RET_STATUS DEVICE_ACTION StartDarkCalibration(void); virtual RET_STATUS DEVICE_ACTION AbortDarkCalibration(void); virtual RET_STATUS DEVICE_ACTION ActiveXrayCalibration(void); virtual RET_STATUS DEVICE_ACTION StartXrayCalibration(void); virtual RET_STATUS DEVICE_ACTION AbortXrayCalibration(void); };