#pragma once #ifndef TEMPUNITLOGIC_EXPORTS #ifdef _WIN64 #ifdef _DEBUG #pragma comment(lib, "TemperatureUnitLogicX64D.lib") #else #pragma comment(lib, "TemperatureUnitLogicX64.lib") #endif #else #ifdef _DEBUG #pragma comment(lib, "TemperatureUnitLogicD.lib") #else #pragma comment(lib, "TemperatureUnitLogic.lib") #endif #endif #endif #ifdef TEMPUNITLOGIC_EXPORTS #define TEMPUNITLOGIC_API __declspec(dllexport) #else #define TEMPUNITLOGIC_API __declspec(dllimport) #endif #include "LogicDevice.h" #include "DIOSLogicDeviceStructure.h" class TEMPUNITLOGIC_API Temperature_LogicDevice : public LogicDevice { public: Temperature_LogicDevice(void); virtual ~Temperature_LogicDevice(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); //Data Access public: BaseJsonDataObject* m_fTemDeliverMax;// BaseJsonDataObject* m_fTemDeliverMin;// BaseJsonDataObject* m_fTemStorageMax;// BaseJsonDataObject* m_fTemStorageMin;// BaseJsonDataObject* m_fTemOperateMax;// BaseJsonDataObject* m_fTemOperateMin;// BaseJsonDataObject* m_fTemperature;// BaseJsonDataObject* m_nState;// BaseJsonDataObject* m_fTemUpError;// BaseJsonDataObject* m_fTempLowError;// BaseJsonDataObject* m_fTempUpWarn;// BaseJsonDataObject* m_fTempLowWarn;// public: virtual RET_STATUS Heating(); virtual RET_STATUS Cooling(); virtual bool Support_Heating(); virtual bool Support_Cooling(); virtual bool Support_SET_TempUpError(); virtual bool Support_SET_TempUpWarn(); virtual bool Support_SET_TempLowError(); virtual bool Support_SET_TempLowWarn(); virtual bool Support_GetTemperature(); void LogInfo(string string); void LogWarn(string string); void LogError(string string); public: //以下函数给Oem用 virtual bool SetDeliverTemp(float fMin, float fMax); virtual bool SetStorageTemp(float fMin, float fMax); virtual bool SetOperateTemp(float fMin, float fMax); virtual bool SetTemperature(float fTem, int & nState); virtual bool SetState(unsigned int nState); bool SetTempUpError(float fMax); bool SetTempLowError(float fMin); bool SetTempUpWarn(float fMax); bool SetTempLowWarn(float fMin); float GetTemperature(); virtual RET_STATUS DATA_ACTION GetTemperatureValue(float & fTem); };