FPDMSM_API.h 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. #pragma once
  2. #ifndef __FPDMSM_API__
  3. #define __FPDMSM_API__
  4. #ifdef FPDMSM_EXPORTS
  5. #define FPDMSM_API _declspec(dllexport)
  6. #else
  7. #define FPDMSM_API _declspec(dllimport)
  8. #endif
  9. //State
  10. //FPDMSMIMPL
  11. static const wchar_t *FPDState_Close = L"Close";
  12. static const wchar_t *FPDState_Init = L"Init";
  13. static const wchar_t *FPDState_Exit = L"Exit";
  14. static const wchar_t *FPDState_Error = L"Error";
  15. static const wchar_t *FPDState_InitError = L"InitError";
  16. static const wchar_t *FPDState_Standby = L"Standby";
  17. static const wchar_t *FPDState_RebuildAS = L"RebuildAS";
  18. static const wchar_t *FPDState_RecoverError = L"RecoverError";
  19. //Sequence
  20. static const wchar_t *FPDState_SeqPrepare = L"SeqPrepare";
  21. static const wchar_t *FPDState_SeqReady = L"SeqReady";
  22. static const wchar_t *FPDState_SeqPending = L"SeqPending";
  23. static const wchar_t *FPDState_SeqEnd = L"SeqEnd";
  24. //Exposure
  25. static const wchar_t *FPDState_ExpPrepare = L"ExpPrepare";
  26. static const wchar_t *FPDState_ExpReady = L"ExpReady";
  27. static const wchar_t *FPDState_StartAcq = L"StartAcq";
  28. static const wchar_t *FPDState_XWindowOn = L"XWindowOn";
  29. static const wchar_t *FPDState_WaitngIMG = L"WaitngIMG";
  30. static const wchar_t *FPDState_Preview = L"Preview";
  31. static const wchar_t *FPDState_ExpOK = L"ExpOK";
  32. static const wchar_t *FPDState_ExpEnd = L"ExpEnd";
  33. static const wchar_t *FPDState_ExpError = L"ExpError";
  34. static const wchar_t *FPDState_ImageError = L"ImageError";
  35. static const wchar_t *FPDState_RecoverImageError = L"RecoverImageError";
  36. //Action
  37. enum FPDAction
  38. {
  39. //FPDMSMIMPL
  40. Act_Init,
  41. Act_Standby,
  42. Act_Error,
  43. Act_RebuildAS,
  44. Act_Exit,
  45. Act_RecoverError,
  46. //Sequence
  47. Act_SeqPrepare,
  48. Act_SeqReady,
  49. Act_SeqPending,
  50. Act_SeqEnd,
  51. //Exposure
  52. Act_ExpPrepare,
  53. Act_ExpReady,
  54. Act_ExpEnd,
  55. Act_StartAcq,
  56. Act_XWindowOn,
  57. Act_WaitngIMG,
  58. Act_Preview,
  59. Act_ExpOK,
  60. Act_ExpError,
  61. Act_ImageError,
  62. Act_RecoverImageError,
  63. //Transform
  64. Act_OnImageError,
  65. Act_OnRecoverImageError
  66. };
  67. //Event
  68. enum FPDEvent
  69. {
  70. //FPDMSMIMPL
  71. Evt_InitStart,
  72. Evt_InitOK,
  73. Evt_Exit,
  74. Evt_SeqStart,
  75. Evt_SeqEnd,
  76. Evt_SelectPanel,
  77. Evt_Active,
  78. Evt_Error,
  79. Evt_NoError,
  80. Evt_RecoverStart,
  81. Evt_RecoverEnd,
  82. //Sequence
  83. Evt_SeqPrepare,
  84. Evt_SeqReady,
  85. Evt_SeqFinish,
  86. Evt_ExpStart,
  87. Evt_ExpSuccess,
  88. Evt_ExpEnd,
  89. //Exposure
  90. Evt_ExpReady,
  91. Evt_FrameBegin,
  92. Evt_XWinOn,
  93. Evt_XWinOff,
  94. Evt_PreviewImage,
  95. Evt_ImageorResult,
  96. Evt_EndSeq_FromUI,
  97. Evt_ExpError,
  98. Evt_AbortImage
  99. };
  100. typedef void (*pFPDMSMCallback)(void *pCtrl, FPDAction act);
  101. class CFPDMSM
  102. {
  103. public:
  104. virtual bool BeginLog(const wchar_t* wszLogFile,const wchar_t* wszLogName) = 0;
  105. virtual bool Init(void *pCtrl, pFPDMSMCallback pcallback ) = 0;
  106. virtual void ProcessEvent( FPDEvent evt ) = 0;
  107. virtual const wchar_t* State() = 0;
  108. virtual void Start() = 0;
  109. virtual void Stop() = 0;
  110. };
  111. class FPDMSM_API CFPDMSMProxy : public CFPDMSM
  112. {
  113. public:
  114. CFPDMSMProxy(void);
  115. ~CFPDMSMProxy(void);
  116. virtual bool BeginLog(const wchar_t* wszLogFile,const wchar_t* wszLogName);
  117. virtual bool Init(void *pCtrl, pFPDMSMCallback pcallback );
  118. virtual void ProcessEvent( FPDEvent evt );
  119. virtual const wchar_t* State();
  120. virtual void Start();
  121. virtual void Stop();
  122. private:
  123. CFPDMSM *m_pfpdMsm;
  124. };
  125. #endif