SyncFPDUnitLogic.h 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. #pragma once
  2. #ifndef SYNCFPDUNITLOGIC_EXPORTS
  3. #ifdef _WIN64
  4. #ifdef _DEBUG
  5. #pragma comment(lib, "SyncFPDUnitLogicX64D.lib")
  6. #else
  7. #pragma comment(lib, "SyncFPDUnitLogicX64.lib")
  8. #endif
  9. #else
  10. #ifdef _DEBUG
  11. #pragma comment(lib, "SyncFPDUnitLogicD.lib")
  12. #else
  13. #pragma comment(lib, "SyncFPDUnitLogic.lib")
  14. #endif
  15. #endif
  16. #endif
  17. #ifdef SYNCFPDUNITLOGIC_EXPORTS
  18. #define SYNFPDUNITLOGIC_API __declspec(dllexport)
  19. #else
  20. #define SYNFPDUNITLOGIC_API __declspec(dllimport)
  21. #endif
  22. #include "LogicDevice.h"
  23. #include "DIOSLogicDeviceStructure.h"
  24. class SYNFPDUNITLOGIC_API SyncFPD_LogicDevice : public LogicDevice
  25. {
  26. public:
  27. SyncFPD_LogicDevice(void);
  28. virtual ~SyncFPD_LogicDevice(void);
  29. //get device type
  30. virtual bool SYSTEM_CALL GetDeviceType(GUID &DevType);
  31. //get device resource
  32. virtual RET_STATUS SYSTEM_CALL GetDeviceResource(ResDataObject PARAM_OUT *pDeviceResource);
  33. //ResourceCommand Request In and Response Out
  34. virtual RET_STATUS SYSTEM_CALL Request(ResDataObject PARAM_IN *pRequest, ResDataObject PARAM_OUT *pResponse);
  35. //notify to lower layer
  36. virtual RET_STATUS SYSTEM_CALL CmdToLogicDev(ResDataObject PARAM_IN *pCmd);
  37. //errors,warnings
  38. void SetErrorInfo(int errCode, char *pErrInfo);
  39. void SetWarningInfo(int warningCode, char *pWarningInfo);
  40. public:
  41. BaseJsonDataObject<int>* m_nXWindowTime;
  42. //BaseJsonDataObject<int> m_nXWindowList;
  43. BaseJsonDataObject<int>* m_nSyncMode;
  44. //BaseJsonDataObject<int> m_nSyncModeList;
  45. BaseJsonDataObject<bool>* m_bXWindowStatus;
  46. BaseJsonDataObject<unsigned short>* m_nFPDFrameRate;
  47. int m_nApplicationMode;
  48. int m_nExamMode;
  49. public:
  50. //fpd actions
  51. virtual RET_STATUS SetApplicationMode(int nApplicationMode); //RAD FLU
  52. virtual RET_STATUS SetExamMode(int nExposeMode);
  53. virtual RET_STATUS GetXWindowList(float sXWindowList[], int &nListNum);
  54. virtual RET_STATUS GetXWindowTime(float &fXWindowTime);
  55. virtual RET_STATUS SetXWindowTime(float fXWindowTime);
  56. virtual RET_STATUS GetSyncList(int nSyncList[], int &nSyncNum);
  57. virtual RET_STATUS GetSyncMode(int &nSyncMode);
  58. virtual RET_STATUS SetSyncMode(int nSyncMode);
  59. virtual RET_STATUS GetSEQResource(ResDataObject PARAM_OUT *pDeviceResource);
  60. virtual RET_STATUS ExposePrepare();
  61. virtual RET_STATUS ExposeReady(bool bResult);
  62. virtual RET_STATUS StartAcquisition();
  63. virtual RET_STATUS XWindowOnNotify();
  64. virtual RET_STATUS XWindowOffNotify(); //then refresh dark image
  65. virtual RET_STATUS StopAcquisition();
  66. virtual RET_STATUS AcquisitionEnd(bool bResult);
  67. virtual RET_STATUS GetFPDFrameRate(unsigned short &nFPDFrameRate);
  68. virtual RET_STATUS SetFPDFrameRate(unsigned short nFPDFrameRate);
  69. //virtual RET_STATUS StartOffsetCalibration();
  70. //virtual RET_STATUS OffsetCalibEnd(bool bResult);
  71. //virtual RET_STATUS StartCalibration(); // then DOSE
  72. //virtual RET_STATUS AcceptCalibration();
  73. //virtual RET_STATUS RejectCalibration();
  74. //virtual RET_STATUS AbortCalibration();
  75. //virtual RET_STATUS CompleteCalibration();
  76. ////virtual RET_STATUS CalibrationDose(); // DOSE
  77. ////virtual RET_STATUS CalibrationEnd(bool bResult);
  78. //virtual RET_STATUS SetDose(int nDose );
  79. //we need check each action resource is Support or not
  80. //return yes or no inside of OEM module
  81. virtual RET_STATUS Support_GetSyncList( );
  82. virtual RET_STATUS Support_GetSyncMode();
  83. virtual RET_STATUS Support_SetSyncMode();
  84. virtual RET_STATUS Support_GetXWindowList();
  85. virtual RET_STATUS Support_GetXWindowTime();
  86. virtual RET_STATUS Support_SetXWindowTime();
  87. virtual RET_STATUS Support_SetApplicationMode();
  88. virtual RET_STATUS Support_SetExamMode();
  89. virtual RET_STATUS Support_GetSEQResource( );
  90. virtual RET_STATUS Support_ExposePrepare();
  91. virtual RET_STATUS Support_StartAcquisition();
  92. virtual RET_STATUS Support_XWindowOnNotify();
  93. virtual RET_STATUS Support_XWindowOffNotify();
  94. virtual RET_STATUS Support_StopAcquisition();
  95. virtual RET_STATUS Support_GetFPDFrameRate();
  96. virtual RET_STATUS Support_SetFPDFrameRate();
  97. //virtual RET_STATUS Support_AcquisitionEnd(bool bResult);
  98. //virtual RET_STATUS Support_StartOffsetCalibration();
  99. ////virtual RET_STATUS Support_OffsetCalibEnd(bool bResult);
  100. //virtual RET_STATUS Support_StartCalibration();
  101. //virtual RET_STATUS Support_AcceptCalibration();
  102. //virtual RET_STATUS Support_RejectCalibration();
  103. //virtual RET_STATUS Support_AbortCalibration();
  104. //virtual RET_STATUS Support_CompleteCalibration();
  105. //virtual RET_STATUS Support_CalibrationDose(); // then DOSE
  106. //virtual RET_STATUS Support_CalibrationEnd(bool bResult);
  107. };