123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229 |
- #ifndef _MOD_HSPSCANNER_H_
- #define _MOD_HSPSCANNER_H_
- #pragma once
- #ifndef _WIN32
- #include "modVer.h"
- #include "SpTest.h"
- #include "DevEntityCommBase.hpp"
- #endif //NOT _WIN32
- #include "HSPScannerFSM.h"
- using namespace HSPScanner;
- class CHSPScannerEntity;
- class CHSPScannerServerSession: public HSPScannerService_ServerSessionBase
- {
- public:
- CHSPScannerServerSession(CHSPScannerEntity *pEntity):m_pEntity(pEntity){}
- virtual ~CHSPScannerServerSession(){}
- virtual void Handle_StartPreview(SpReqAnsContext<HSPScannerService_StartPreview_Req,
- HSPScannerService_StartPreview_Ans>::Pointer ctx);
- virtual void Handle_CancelPreview(SpReqAnsContext<HSPScannerService_CancelPreview_Req,
- HSPScannerService_CancelPreview_Ans>::Pointer ctx);
- virtual void Handle_ScanImage(SpReqAnsContext<HSPScannerService_ScanImage_Req,
- HSPScannerService_ScanImage_Ans>::Pointer ctx);
- virtual void Handle_ScanImageEx(SpReqAnsContext<HSPScannerService_ScanImageEx_Req,
- HSPScannerService_ScanImageEx_Ans>::Pointer ctx);
- virtual void Handle_SetProperty(SpReqAnsContext<HSPScannerService_SetProperty_Req,
- HSPScannerService_SetProperty_Ans>::Pointer ctx);
- virtual void Handle_SetWinPos(SpReqAnsContext<HSPScannerService_SetWinPos_Req,
- HSPScannerService_SetWinPos_Ans>::Pointer ctx);
- virtual void Handle_ShowProperty(SpReqAnsContext<HSPScannerService_ShowProperty_Req,
- HSPScannerService_ShowProperty_Ans>::Pointer ctx);
- virtual void Handle_GetDevStatus(SpReqAnsContext<HSPScannerService_GetDevStatus_Req,
- HSPScannerService_GetDevStatus_Ans>::Pointer ctx);
- virtual void Handle_GetDevInfo(SpReqAnsContext<HSPScannerService_GetDevInfo_Req,
- HSPScannerService_GetDevInfo_Ans>::Pointer ctx);
- virtual void Handle_Exit(SpOnewayCallContext<HSPScannerService_Exit_Info>::Pointer ctx);
- virtual void Handle_StartPreviewJS(SpReqAnsContext<HSPScannerService_StartPreviewJS_Req, HSPScannerService_StartPreviewJS_Ans>::Pointer ctx);
- virtual void Handle_CancelPreviewJS(SpReqAnsContext<HSPScannerService_CancelPreviewJS_Req, HSPScannerService_CancelPreviewJS_Ans>::Pointer ctx);
- virtual void Handle_ScanImageJS(SpReqAnsContext<HSPScannerService_ScanImageJS_Req, HSPScannerService_ScanImageJS_Ans>::Pointer ctx);
- virtual void Handle_SetParamJS(SpReqAnsContext<HSPScannerService_SetParamJS_Req, HSPScannerService_SetParamJS_Ans>::Pointer ctx);
- private:
- CHSPScannerEntity *m_pEntity;
- };
- class CHSPScannerEntity : public CDevAdptEntityBase, public ISysVarListener
- {
- public:
- CHSPScannerEntity() {}
- virtual ~CHSPScannerEntity() {}
- virtual const char *GetEntityName() const { return "HSPScanner"; }
- #ifndef _WIN32
- const char* GetEntityVersion() const { return MODULE_VERSION_FULL; }
- ON_ENTITYT_TEST()
- #endif //NOT _WIN32
- virtual CServerSessionBase* OnNewSession(const char* , const char * )
- {
- return new CHSPScannerServerSession(this);
- }
- virtual void OnPreStart(CAutoArray<CSimpleStringA> strArgs,
- CSmartPointer<ITransactionContext> pTransactionContext)
- {
- ErrorCodeEnum erroCode = m_fsm.Init(this);
- GetFunction()->RegistSysVarEvent("UIState", this);
- pTransactionContext->SendAnswer(erroCode);
- }
- virtual void OnStarted()
- {
- }
- virtual void OnPrePause(CSmartPointer<ITransactionContext> pTransactionContext)
- {
- ErrorCodeEnum ec = Error_Succeed;
- pTransactionContext->SendAnswer(ec);
- }
- virtual void OnPreContinue(CSmartPointer<ITransactionContext> pTransactionContext)
- {
- pTransactionContext->SendAnswer(Error_Succeed);
- }
- virtual void OnPreClose(EntityCloseCauseEnum eCloseCause,
- CSmartPointer<ITransactionContext> pTransactionContext)
- {
- ErrorCodeEnum erroCode = m_fsm.OnExit();
- pTransactionContext->SendAnswer(erroCode);
- }
- virtual void OnSysVarEvent(const char* pszKey,
- const char* pszValue, const char* pszOldValue, const char* pszEntityName);
- void Preview(SpReqAnsContext<HSPScannerService_StartPreview_Req,
- HSPScannerService_StartPreview_Ans>::Pointer ctx)
- {
- StartPreviewEvent* pEvent = new StartPreviewEvent(&m_fsm);
- pEvent->m_ctx = ctx;
- m_fsm.PostEventFIFO(pEvent);
- }
- void CancelPreview(SpReqAnsContext<HSPScannerService_CancelPreview_Req,
- HSPScannerService_CancelPreview_Ans>::Pointer ctx)
- {
- StopPreviewEvent* pEvent = new StopPreviewEvent(&m_fsm);
- pEvent->m_ctx = ctx;
- m_fsm.PostEventFIFO(pEvent);
- }
- void ScanImage(SpReqAnsContext<HSPScannerService_ScanImage_Req,
- HSPScannerService_ScanImage_Ans>::Pointer ctx)
- {
- ScanImageEvent* pEvent = new ScanImageEvent(&m_fsm);
- pEvent->m_ctx = ctx;
- m_fsm.PostEventFIFO(pEvent);
- }
- void ScanImageEx(SpReqAnsContext<HSPScannerService_ScanImageEx_Req,
- HSPScannerService_ScanImageEx_Ans>::Pointer ctx)
- {
- ScanImageExEvent* pEvent = new ScanImageExEvent(&m_fsm);
- pEvent->m_ctx = ctx;
- m_fsm.PostEventFIFO(pEvent);
- }
- void Exit(SpOnewayCallContext<HSPScannerService_Exit_Info>::Pointer ctx)
- {
- m_fsm.PostEventFIFO(new FSMEvent(USER_EVT_EXIT));
- }
- void GetDevInfo(SpReqAnsContext<HSPScannerService_GetDevInfo_Req,
- HSPScannerService_GetDevInfo_Ans>::Pointer ctx)
- {
- m_fsm.GetDevInfo(ctx);
- }
- void GetDevStatus(SpReqAnsContext<HSPScannerService_GetDevStatus_Req,
- HSPScannerService_GetDevStatus_Ans>::Pointer ctx)
- {
- GetDevStatusEvent* pEvent = new GetDevStatusEvent(&m_fsm);
- pEvent->m_ctx = ctx;
- m_fsm.PostEventFIFO(pEvent);
- }
- void SetWinPos(SpReqAnsContext<HSPScannerService_SetWinPos_Req,
- HSPScannerService_SetWinPos_Ans>::Pointer ctx)
- {
- SetWinPosEvent* pEvent = new SetWinPosEvent(&m_fsm);
- pEvent->m_ctx = ctx;
- m_fsm.PostEventFIFO(pEvent);
- }
- void ShowProperty(SpReqAnsContext<HSPScannerService_ShowProperty_Req,
- HSPScannerService_ShowProperty_Ans>::Pointer ctx)
- {
- ShowPropertyEvent* pEvent = new ShowPropertyEvent(&m_fsm);
- pEvent->m_ctx = ctx;
- m_fsm.PostEventFIFO(pEvent);
- }
- void SetProperty(SpReqAnsContext<HSPScannerService_SetProperty_Req,
- HSPScannerService_SetProperty_Ans>::Pointer ctx)
- {
- SetPropertyEvent* pEvent = new SetPropertyEvent(&m_fsm);
- pEvent->m_ctx = ctx;
- m_fsm.PostEventFIFO(pEvent);
- }
- void StartPreviewJS(SpReqAnsContext<HSPScannerService_StartPreviewJS_Req, HSPScannerService_StartPreviewJS_Ans>::Pointer ctx)
- {
- JS::StartPreviewEvent* pEvent = new JS::StartPreviewEvent(&m_fsm);
- pEvent->m_ctx = ctx;
- m_fsm.PostEventFIFO(pEvent);
- }
- void CancelPreviewJS(SpReqAnsContext<HSPScannerService_CancelPreviewJS_Req, HSPScannerService_CancelPreviewJS_Ans>::Pointer ctx)
- {
- JS::CancelPreviewEvent* pEvent = new JS::CancelPreviewEvent(&m_fsm);
- pEvent->m_ctx = ctx;
- m_fsm.PostEventFIFO(pEvent);
- }
- void ScanImageJS(SpReqAnsContext<HSPScannerService_ScanImageJS_Req, HSPScannerService_ScanImageJS_Ans>::Pointer ctx)
- {
- JS::ScanImageEvent* pEvent = new JS::ScanImageEvent(&m_fsm);
- pEvent->m_ctx = ctx;
- m_fsm.PostEventFIFO(pEvent);
- }
- void SetParamJS(SpReqAnsContext<HSPScannerService_SetParamJS_Req, HSPScannerService_SetParamJS_Ans>::Pointer ctx)
- {
- JS::SetParamEvent* pEvent = new JS::SetParamEvent(&m_fsm);
- pEvent->m_ctx = ctx;
- m_fsm.PostEventFIFO(pEvent);
- }
- void OnSelfTest(EntityTestEnum eTestType, CSmartPointer<ITransactionContext> pTransactionContext)
- {
- m_fsm.SelfTest(eTestType, pTransactionContext);
- }
- virtual bool IsService() const { return true; }
- virtual bool IsMultiThread() const { return true; };
- private:
- CHSPScannerFSM m_fsm;
- };
- #endif
|