mod_UpgradeRun.h 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. #ifndef RVC_MOD_UPGRADE_RUN_H_
  2. #define RVC_MOD_UPGRADE_RUN_H_
  3. #include "SpBase.h"
  4. #include "UpgradeRunFSM.h"
  5. #include "UpgradeRun_server_g.h"
  6. #include "UpgradeRun_msg_g.h"
  7. #include "SpTest.h"
  8. #include "modVer.h"
  9. using namespace UpgradeRun;
  10. // Éý¼¶Ö´ÐÐ UpgradeRun 0x507
  11. class CUpgradeRunEntity : public CEntityBase, public ISysVarListener
  12. {
  13. public:
  14. CUpgradeRunEntity(){}
  15. virtual ~CUpgradeRunEntity() {}
  16. virtual const char *GetEntityName() const { return "UpgradeRun"; }
  17. virtual bool IsService()const{return true;}
  18. const char* GetEntityVersion() const override
  19. {
  20. return MODULE_VERSION_FULL;
  21. }
  22. ON_ENTITYT_TEST()
  23. virtual void OnStarted();
  24. virtual void OnPreClose(EntityCloseCauseEnum eCloseCause,CSmartPointer<ITransactionContext> pTransactionContext);
  25. virtual void OnSysVarEvent(const char *pszKey, const char *pszValue,const char *pszOldValue,const char *pszEntityName);
  26. virtual CServerSessionBase *OnNewSession(const char* /*pszRemoteEntityName*/, const char * /*pszParam*/);
  27. ErrorCodeEnum PushUpdateTask(const CSimpleStringA &strPackName, const int nPackType);
  28. ErrorCodeEnum GetRunState(CSimpleStringA &strPackName, char &cState);
  29. ErrorCodeEnum UpdateTaskCancel(const CSimpleStringA &strPackName);
  30. ErrorCodeEnum BroadcastUpgradeCheckEvent(UpgradeCheckEvent &e);
  31. ErrorCodeEnum BroadcastUpgradeDoneEvent(UpgradeDoneEvent &e);
  32. bool GetServerPackUpgradeResult(const char *pszPackageName, CSimpleStringA &strVerison, CSimpleStringA &strErrMsg);
  33. bool GetFirmwarePackUpgradeResult(const char *pszPackageName, CSimpleStringA &strVerison, CSimpleStringA &strErrMsg);
  34. private:
  35. CUpgradeRunFSM m_FSM;
  36. };
  37. class CUpgradeRunSession : public UpgradeRunService_ServerSessionBase
  38. {
  39. public:
  40. CUpgradeRunSession(CUpgradeRunEntity *pEntity) : m_pEntity(pEntity) {}
  41. virtual ~CUpgradeRunSession() {}
  42. virtual void Handle_PushUpdateTask(SpOnewayCallContext<UpgradeRunService_PushUpdateTask_Info>::Pointer ctx)
  43. {
  44. m_pEntity->PushUpdateTask(ctx->Info.strPackName, ctx->Info.nTaskType);
  45. }
  46. virtual void Handle_GetRunState(SpReqAnsContext<UpgradeRunService_GetRunState_Req, UpgradeRunService_GetRunState_Ans>::Pointer ctx)
  47. {
  48. ErrorCodeEnum rc = m_pEntity->GetRunState(ctx->Ans.strPackName, ctx->Ans.state);
  49. ctx->Answer(rc);
  50. }
  51. virtual void Handle_UpdateTaskCancel(SpOnewayCallContext<UpgradeRunService_UpdateTaskCancel_Info>::Pointer ctx)
  52. {
  53. m_pEntity->UpdateTaskCancel(ctx->Info.strPackName);
  54. }
  55. private:
  56. CUpgradeRunEntity *m_pEntity;
  57. };
  58. #endif //RVC_MOD_UPGRADE_RUN_H_