123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- #pragma once
- #ifndef SYNCGENUNITLOGIC_EXPORTS
- #ifdef _WIN64
- #ifdef _DEBUG
- #pragma comment(lib, "SyncGenUnitLogicX64D.lib")
- #else
- #pragma comment(lib, "SyncGenUnitLogicX64.lib")
- #endif
- #else
- #ifdef _DEBUG
- #pragma comment(lib, "SyncGenUnitLogicD.lib")
- #else
- #pragma comment(lib, "SyncGenUnitLogic.lib")
- #endif
- #endif
- #endif
- #ifdef SYNCGENUNITLOGIC_EXPORTS
- #define SYNGENUNITLOGIC_API __declspec(dllexport)
- #else
- #define SYNGENUNITLOGIC_API __declspec(dllimport)
- #endif
- #include "LogicDevice.h"
- typedef enum _SyncGenStatus {
- SYNCGEN_ERROR = -1,
- SYNCGEN_DISABLEEXP,
- SYNCGEN_ENABLEEXP,
- SYNCGEN_ENABLEXRAY,
- SYNCGEN_XRAYON,
- SYNCGEN_MAX
- }SYNCGENSTATUS;
- class SYNGENUNITLOGIC_API SyncGen_LogicDevice : public LogicDevice
- {
- public:
- SyncGen_LogicDevice(void);
- virtual ~SyncGen_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);
- public:
- //以下三种状态应该合并成一个状态,基于RSNA时间不够,这个暂时保留为3个状态
- //ex:曝光使能状态
- BaseJsonDataObject<bool>* m_bExposeEnableStatus;
- //ex:出线使能状态
- BaseJsonDataObject<bool>* m_bXrayEnableStatus;
- //ex:出线状态
- BaseJsonDataObject<bool>* m_bXrayStatus;
- public:
- //fpd actions
- virtual RET_STATUS SetApplicationMode(int nApplicationMode); //RAD FLU
- virtual RET_STATUS SetExamMode(int nExposeMode);
- virtual RET_STATUS GetSEQResource(ResDataObject PARAM_OUT *pDeviceResource);
- //for the RSNA,暂时将就一下
- void GetStatus(SYNCGENSTATUS &Status);//0:DisableExp,1:EnableExp,2:EnableXray,3:XrayOn
- //Gen actions
- virtual RET_STATUS ExposePrepare(); //曝光使能
- virtual RET_STATUS StopExpose(); //曝光禁用
- virtual RET_STATUS ExposeReady(bool bResult); //曝光使能的反馈
- virtual RET_STATUS InvokeXray();
- virtual RET_STATUS XrayOnNotify();
- virtual RET_STATUS XrayOffNotify();
- virtual RET_STATUS StopXray();
- virtual RET_STATUS StopXrayResult(bool bResult);
- virtual RET_STATUS ErrorState(bool bResult);
- //we need check each action resource is Support or not
- //return yes or no inside of OEM module
- virtual RET_STATUS Support_SetApplicationMode();
- virtual RET_STATUS Support_SetExamMode();
- virtual RET_STATUS Support_ExposePrepare();
- virtual RET_STATUS Support_StopExpose();
- virtual RET_STATUS Support_InvokeXray();
- virtual RET_STATUS Support_XrayOnNotify();
- virtual RET_STATUS Support_XrayOffNotify();
- virtual RET_STATUS Support_StopXray();
-
- };
|