mod_vtmloader.h 3.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. #pragma once
  2. #include "SpBase.h"
  3. #include "VtmLoaderFSM.h"
  4. //#include "IHttpFunc.h"
  5. #include "VtmLoader_server_g.h"
  6. using namespace VtmLoader;
  7. class CVtmLoaderEntity;
  8. class VtmLoaderServerSession : public VtmLoaderService_ServerSessionBase
  9. {
  10. public:
  11. VtmLoaderServerSession(CVtmLoaderEntity* pEntity) :m_pEntity(pEntity) {}
  12. virtual ~VtmLoaderServerSession() {}
  13. virtual void Handle_SetTerminalNo(SpReqAnsContext<VtmLoaderService_SetTerminalNo_Req, VtmLoaderService_SetTerminalNo_Ans>::Pointer ctx);
  14. virtual void Handle_NoticeAppReady(SpReqAnsContext<VtmLoaderService_NoticeAppReady_Req, VtmLoaderService_NoticeAppReady_Ans>::Pointer ctx);
  15. virtual void Handle_CheckDeviceEntity(SpReqAnsContext<VtmLoaderService_CheckDeviceEntity_Req, VtmLoaderService_CheckDeviceEntity_Ans>::Pointer ctx);
  16. virtual void Handle_SaveTerminalNo(SpReqAnsContext<VtmLoaderService_SaveTerminalNo_Req, VtmLoaderService_SaveTerminalNo_Ans>::Pointer ctx);
  17. private:
  18. CVtmLoaderEntity* m_pEntity;
  19. };
  20. class CVtmLoaderEntity : public CEntityBase, public ILogListener
  21. {
  22. public:
  23. CVtmLoaderEntity() :m_SubLogID1(0), m_SubLogID2(0), m_dwBeginTime(0),
  24. m_strUserID(""), m_strUserName(""), m_strAuthorizer(""), m_strCurRight(""), m_strAuthTime("")
  25. {
  26. }
  27. virtual ~CVtmLoaderEntity() {}
  28. virtual const char *GetEntityName() const { return "VtmLoader"; }
  29. virtual bool IsService()const{return true;}
  30. virtual void OnPreStart(CAutoArray<CSimpleStringA> strArgs,CSmartPointer<ITransactionContext> pTransactionContext);
  31. virtual void OnPreClose(EntityCloseCauseEnum eCloseCause,CSmartPointer<ITransactionContext> pTransactionContext) ;
  32. virtual CServerSessionBase *OnNewSession(const char* /*pszRemoteEntityName*/, const char * /*pszParam*/)
  33. {
  34. return new VtmLoaderServerSession(this);
  35. }
  36. virtual void OnLog(const CAutoArray<CUUID> &SubIDs, const CUUID nLogID,const LogTypeEnum eLogType, const SeverityLevelEnum eLevel,
  37. const DWORD dwSysError,const DWORD dwUserCode,const DWORD dwEntityInstanceID, const WORD wEntityDevelID,
  38. const CAutoArray<DWORD> &Param, const char *pszEntityName, const char *pszModuleName,const char *pszMessage, const linkContext &pLinkInfo);
  39. ErrorCodeEnum UnsubscribeEntitysEvents();
  40. CSimpleStringA GetCurMaintainer(){ return m_strUserID;}
  41. void SetTerminalNo(SpReqAnsContext<VtmLoaderService_SetTerminalNo_Req, VtmLoaderService_SetTerminalNo_Ans>::Pointer ctx) { m_FSM.SetTerminalNo(ctx); }
  42. //void NoticeAppReady(SpReqAnsContext<VtmLoaderService_NoticeAppReady_Req, VtmLoaderService_NoticeAppReady_Ans>::Pointer ctx);
  43. void CheckDeviceEntity(SpReqAnsContext<VtmLoaderService_CheckDeviceEntity_Req, VtmLoaderService_CheckDeviceEntity_Ans>::Pointer ctx)
  44. {
  45. CheckDeviceEntityEvent* pEvt = new CheckDeviceEntityEvent();
  46. pEvt->ctx = ctx;
  47. m_FSM.PostEventFIFO(pEvt);
  48. }
  49. void SaveTerminalNo(SpReqAnsContext<VtmLoaderService_SaveTerminalNo_Req, VtmLoaderService_SaveTerminalNo_Ans>::Pointer ctx)
  50. {
  51. SaveTerminalNoEvent* pEvt = new SaveTerminalNoEvent();
  52. pEvt->ctx = ctx;
  53. m_FSM.PostEventFIFO(pEvt);
  54. }
  55. protected:
  56. //GUITask m_task;
  57. CVtmLoaderFSM m_FSM;
  58. CUUID m_SubLogID1;
  59. CUUID m_SubLogID2;
  60. CUUID m_SubLogID3;
  61. CUUID m_SubLogID4;
  62. // 当前维护用户信息
  63. CSimpleStringA m_strUserID;
  64. CSimpleStringA m_strUserName;
  65. CSimpleStringA m_strCurRight;
  66. CSimpleStringA m_strAuthorizer;
  67. CSimpleStringA m_strAuthTime;
  68. DWORD m_dwBeginTime;
  69. public:
  70. //static std::string m_httpToken;
  71. //IHttpFunc* m_pHttpFunc;
  72. };