AbstractAcqEx.h 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. #ifndef ABSTRACTACQEX_EXPORTS
  2. #ifdef _WIN64
  3. #ifdef _DEBUG
  4. #pragma comment(lib, "AbstractAcqExX64D.lib")
  5. #else
  6. #pragma comment(lib, "AbstractAcqExX64.lib")
  7. #endif
  8. #else
  9. #ifdef _DEBUG
  10. #pragma comment(lib, "AbstractAcqExD.lib")
  11. #else
  12. #pragma comment(lib, "AbstractAcqEx.lib")
  13. #endif
  14. #endif
  15. #endif
  16. #ifdef ABSTRACTACQEX_EXPORTS
  17. #define ABSTRACTACEX_API __declspec(dllexport)
  18. #else
  19. #define ABSTRACTACEX_API __declspec(dllimport)
  20. #endif
  21. #include "LogicDevice.h"
  22. #include "CommonLogicClient.h"
  23. #include <map>
  24. #include "DiosThread.h"
  25. #include "DIOSLogicDeviceStructure.h"
  26. class ABSTRACTACEX_API AbstractAcqEx : public LogicDevice
  27. {
  28. public:
  29. AbstractAcqEx(void);
  30. virtual ~AbstractAcqEx(void);
  31. SM_STATUS m_SMState;
  32. void *m_pData;
  33. void *m_pNotify;
  34. char m_chLog[512];
  35. //get device type
  36. virtual bool SYSTEM_CALL GetDeviceType(GUID &DevType);
  37. //get device resource
  38. virtual RET_STATUS SYSTEM_CALL GetDeviceResource(ResDataObject PARAM_OUT *pDeviceResource);
  39. //ResourceCommand Request In and Response Out
  40. virtual RET_STATUS SYSTEM_CALL Request(ResDataObject PARAM_IN *pRequest, ResDataObject PARAM_OUT *pResponse);
  41. //notify to lower layer
  42. virtual RET_STATUS SYSTEM_CALL CmdToLogicDev(ResDataObject PARAM_IN *pCmd);
  43. //errors,warnings
  44. HANDLE EvtDose;
  45. int m_ExecType;
  46. void SetErrorInfo(int errCode, char *pErrInfo);
  47. void SetWarningInfo(int warningCode, char *pWarningInfo);
  48. void LogInfo(string string);
  49. void LogWarn(string string);
  50. void LogError(string string);
  51. public:
  52. int WaitforNotify(DWORD Index);
  53. void InitState(const char* strState);
  54. bool StateAction(const char* strState);
  55. //bool StateGuard(char*, map<CommonLogicClient*, RES_SM> &objSM);
  56. bool StateNotify(char* strState, RES_SM ResSm);
  57. bool WaitDose();
  58. int Find(char *name, ResDataObject Res);
  59. int SetStateNotify(const char* strState);
  60. bool work(DWORD Index);
  61. bool StartThread();
  62. bool StopThread();
  63. HANDLE *GetHandlelist(int &size);
  64. bool IsThreadRun();
  65. public:
  66. //fpd actions
  67. virtual RET_STATUS OpenLogicDevice();
  68. virtual RET_STATUS CloseLogicDevice();
  69. virtual RET_STATUS ResetSMState();
  70. virtual RET_STATUS AddLogicDevice(string path);
  71. virtual RET_STATUS DelLogicDevice(string path);
  72. virtual RET_STATUS GetUnitAttribute(ResDataObject PARAM_OUT *pDeviceAttribute);
  73. virtual RET_STATUS SetApplicationMode(ResDataObject nApplicationMode);
  74. virtual RET_STATUS SetExamMode(ResDataObject nExamMode);
  75. virtual RET_STATUS SetImgID(ResDataObject nImgID);
  76. virtual RET_STATUS StartCalibration(ResDataObject nMode);
  77. virtual RET_STATUS GetRequestedDose(FLOAT &Dose);
  78. virtual RET_STATUS AcceptCurrImgage();
  79. virtual RET_STATUS RejectCurrImgage(void);
  80. virtual RET_STATUS AbortCalibration(void);
  81. virtual RET_STATUS FinishCalibration(void);
  82. virtual RET_STATUS SetCorrectionType(DWORD corrOptions);
  83. virtual RET_STATUS GetSEQResource(ResDataObject PARAM_OUT *pDeviceResource);
  84. //virtual RET_STATUS SeqPrep();
  85. //virtual RET_STATUS SeqPrepResult(CommonLogicClient* objSM, RES_SM SMResult);
  86. //virtual RET_STATUS SeqReady();
  87. //virtual RET_STATUS FramePrep();
  88. //virtual RET_STATUS FramePrepResult(CommonLogicClient* objSM, RES_SM SMResult);
  89. //virtual RET_STATUS FrameReady();
  90. //virtual RET_STATUS FrameStart();
  91. //virtual RET_STATUS XWindowOn();
  92. //virtual RET_STATUS FrameIn();
  93. //virtual RET_STATUS FrameInComplete();
  94. //virtual RET_STATUS FramePost();
  95. ////virtual RET_STATUS FramePostResult(CommonLogicClient* objSM, RES_SM SMResult);
  96. //virtual RET_STATUS FrameEnd();
  97. //virtual RET_STATUS FrameError();
  98. //virtual RET_STATUS FrameErrResult(CommonLogicClient* objSM, RES_SM SMResult);
  99. //virtual RET_STATUS SeqPost();
  100. //virtual RET_STATUS SeqPostResult(CommonLogicClient* objSM, RES_SM SMResult);
  101. //we need check each action resource is Support or not
  102. //return yes or no inside of OEM module
  103. virtual RET_STATUS Support_SetSyncMode();
  104. virtual RET_STATUS Support_SetXWindowTime();
  105. virtual RET_STATUS Support_SetApplicationMode();
  106. virtual RET_STATUS Support_SetExamMode();
  107. virtual RET_STATUS Support_GetSEQResource();
  108. /*virtual RET_STATUS Support_SeqPrep();
  109. virtual RET_STATUS Support_SeqReady();
  110. virtual RET_STATUS Support_FramePrep();
  111. virtual RET_STATUS Support_FrameReady();
  112. virtual RET_STATUS Support_FrameStart();
  113. virtual RET_STATUS Support_XWindowOn();
  114. virtual RET_STATUS Support_FrameIn();
  115. virtual RET_STATUS Support_FrameInComplete();
  116. virtual RET_STATUS Support_FramePost();
  117. virtual RET_STATUS Support_FramePostResult();
  118. virtual RET_STATUS Support_FrameEnd();
  119. virtual RET_STATUS Support_FrameEndResult();
  120. virtual RET_STATUS Support_SeqPost();
  121. virtual RET_STATUS Support_SeqPostResult();
  122. virtual RET_STATUS Support_FrameErr();*/
  123. };