AcqUSDemoLogic.h 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. #pragma once
  2. #ifndef ACQUSDEMOLOGIC_EXPORTS
  3. #ifdef WIN_64BIT
  4. #ifdef _DEBUG
  5. #pragma comment(lib, "AcqUSDemoLogicX64D.lib")
  6. #else
  7. #pragma comment(lib, "AcqUSDemoLogicX64.lib")
  8. #endif
  9. #else
  10. #ifdef _DEBUG
  11. #pragma comment(lib, "AcqUSDemoLogicD.lib")
  12. #else
  13. #pragma comment(lib, "AcqUSDemoLogic.lib")
  14. #endif
  15. #endif
  16. #endif
  17. #define MEMORY_MAX_COUNT 15
  18. #define PARAM_IN_TYPE
  19. #ifdef ACQUSDEMOLOGIC_EXPORTS
  20. #define ACQUNITLOGIC_API __declspec(dllexport)
  21. #else
  22. #define ACQUNITLOGIC_API __declspec(dllimport)
  23. #endif
  24. #include"LogicDevice.h"
  25. #include"DIOSLogiceDeviceStructure.h"
  26. #include"ShareMemClientInterface.h"
  27. class ACQUNITLOGIC_API AcqUSDemoLogic : public LogicDevice
  28. {
  29. private:
  30. BaseJsonDataObject<unsigned int> m_AppMode;
  31. BaseJsonDataObject<unsigned int> m_ExamMode;
  32. BaseJsonDataObject<unsigned long long> m_ImgId;
  33. ImgInfoDef m_FullImg;
  34. ImgDataInfo m_ImgDataInfo;
  35. CShareMemClient m_shareMemclient;
  36. unsigned __int64 m_ShareNameId[MEMORY_MAX_COUNT];
  37. C2DGrayImageData *m_pImg2DGrayFull;
  38. CRGBImageData *m_pImgRGBFull;
  39. CBaseFunctionDataElement *m_pElement;
  40. int m_Memo_Index;
  41. BYTE*m_pDataPtr;
  42. unsigned long long m_nFrameId;
  43. char* m_chLog;
  44. public:
  45. AcqUSDemoLogic(void);
  46. virtual ~AcqUSDemoLogic(void);
  47. //get device type
  48. virtual bool SYSTEM_CALL GetDeviceType(GUID &DevType);
  49. //get device resource
  50. virtual RET_STATUS SYSTEM_CALL GetDeviceResource(ResDataObject PARAM_OUT *pDeviceResource);
  51. //ResourceCommand Request In and Response Out
  52. virtual RET_STATUS SYSTEM_CALL Request(ResDataObject PARAM_IN *pRequest, ResDataObject PARAM_OUT *pResponse);
  53. //notify to lower layer
  54. virtual RET_STATUS SYSTEM_CALL CmdToLogicDev(ResDataObject PARAM_IN *pCmd);
  55. //errors,warnings
  56. void SetErrorInfo(int errCode, char *pErrInfo);
  57. void SetWarningInfo(int warningCode, char *pWarningInfo);
  58. private://data层内部使用
  59. int RegShareMem();
  60. bool UnRegShareMem();
  61. bool GetShareMemBuf(US_IMAGE_VIEW_TYPE eType, std::wstring strBufName, UINT32 nWidth, UINT32 nHeight, UINT32 nBit, UINT32 nFrameId);
  62. int WriteImageToShareMem(unsigned long long &dwShareMemId);
  63. bool PostImageDataNotify(US_IMAGE_VIEW_TYPE eType, unsigned long long dwShareMemId, unsigned long long nImageId);
  64. void LogInfo(string str);
  65. private://Data层实现,Owner
  66. bool Support_DTL_GetImgDimension();
  67. bool Support_GetAppMode();
  68. bool Support_SetAppMode();
  69. bool Support_GetExamMode();
  70. bool Support_SetExamMode();
  71. bool Support_SetImgID();
  72. bool Support_GetImgID();
  73. bool Support_GetSEQResource();
  74. bool Support_FramePostState();
  75. bool Support_SeqPrepState();
  76. RET_STATUS DATA_ACTION FramePostState();
  77. RET_STATUS DATA_ACTION SeqPrepState();
  78. RET_STATUS DATA_ACTION GetSEQResource(ResDataObject*res);
  79. RET_STATUS DATA_ACTION DTL_GetImgDimension(ImgInfoDef PARAM_OUT& ImgSt);
  80. RET_STATUS DATA_ACTION GetAppMode(unsigned int PARAM_OUT&AppMode);
  81. RET_STATUS DATA_ACTION SetAppMode(unsigned int PARAM_IN AppMode);
  82. RET_STATUS DATA_ACTION GetExamMode(unsigned int PARAM_OUT&ExamMode);
  83. RET_STATUS DATA_ACTION SetImgID(unsigned long long PARAM_IN ImgId);
  84. RET_STATUS DATA_ACTION GetImgID(unsigned long long PARAM_IN &ImgId);
  85. public://OEM重写,需要调用基类对应的函数
  86. virtual bool DATA_ACTION Support_GetImgDimension();
  87. virtual bool DEVICE_SUPPORT Support_GetFrame();
  88. virtual bool DEVICE_SUPPORT Support_Run();
  89. virtual bool DEVICE_SUPPORT Support_Stop();
  90. virtual RET_STATUS DATA_ACTION GetImgDimension(unsigned int PARAM_OUT &nWidth, unsigned int PARAM_OUT &nHeight, unsigned int PARAM_OUT &nBit);
  91. virtual RET_STATUS DEVICE_ACTION GetFrame(US_IMAGE_VIEW_TYPE nType, void PARAM_IN PARAM_OUT* pOemImage
  92. , unsigned int PARAM_OUT &nWidth, unsigned int PARAM_OUT &nHeight, unsigned int PARAM_IN &nBit);
  93. virtual RET_STATUS DATA_ACTION SetExamMode(unsigned int PARAM_IN ExamMode);
  94. virtual RET_STATUS DEVICE_SUPPORT Run();
  95. virtual RET_STATUS DEVICE_SUPPORT Stop();
  96. };