#pragma once #ifndef SYNCHSWUNITLOGIC_EXPORTS #ifdef _WIN64 #ifdef _DEBUG #pragma comment(lib, "SyncHSWUnitLogicX64D.lib") #else #pragma comment(lib, "SyncHSWUnitLogicX64.lib") #endif #else #ifdef _DEBUG #pragma comment(lib, "SyncHSWUnitLogicD.lib") #else #pragma comment(lib, "SyncHSWUnitLogic.lib") #endif #endif #endif #ifdef SYNCHSWUNITLOGIC_EXPORTS #define SYNCHSW_API __declspec(dllexport) #else #define SYNCHSW_API __declspec(dllimport) #endif #include "LogicDevice.h" #include "DIOSLogicDeviceStructure.h" class SYNCHSW_API SyncHSW_LogicDevice : public LogicDevice { public: SyncHSW_LogicDevice(void); virtual ~SyncHSW_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); virtual RET_STATUS SYSTEM_CALL GetSEQResource(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); RET_STATUS DATA_ACTION SetExamMode(unsigned int PARAM_IN ExamMode); //Data Access public: BaseJsonDataObject* m_bOneHSWStatus;//Sync status BaseJsonDataObject* m_bTwoHSWStatus;//Sync status BaseJsonDataObject* m_AppMode; BaseJsonDataObject* m_ExamMode; public: //hsw actions virtual RET_STATUS OneHSWUpNotify(); virtual RET_STATUS OneHSWDownNotify(); virtual RET_STATUS TwoHSWUpNotify(); virtual RET_STATUS TwoHSWDownNotify(); //we need check each action resource is Support or not //return yes or no inside of OEM module virtual RET_STATUS Support_OneHSWUpNotify(); virtual RET_STATUS Support_OneHSWDownNotify(); virtual RET_STATUS Support_TwoHSWUpNotify(); virtual RET_STATUS Support_TwoHSWDownNotify(); };