mod_upload.h 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. #ifndef RVC_MOD_UPLOAD_H_
  2. #define RVC_MOD_UPLOAD_H_
  3. #include "stdafx.h"
  4. #include "SpBase.h"
  5. #include "SpIni.h"
  6. #ifdef RVC_OS_WIN
  7. #else
  8. #include "SpTest.h"
  9. #include "modVer.h"
  10. #endif
  11. #include "UploadFSM.h"
  12. #include "Upload_server_g.h"
  13. using namespace Upload;
  14. class CUploadEntity;
  15. class UploadSession : public UploadService_ServerSessionBase
  16. {
  17. public:
  18. UploadSession(CUploadEntity* pEntity) : m_pEntity(pEntity) {}
  19. virtual ~UploadSession() {}
  20. virtual void Handle_UploadProgess(SpReqAnsContext<UploadService_UploadProgess_Req, UploadService_UploadProgess_Ans>::Pointer ctx);
  21. virtual void Handle_UploadNumber(SpReqAnsContext<UploadService_UploadNumber_Req, UploadService_UploadNumber_Ans>::Pointer ctx);
  22. virtual void Handle_UploadDateList(SpReqAnsContext<UploadService_UploadDateList_Req, UploadService_UploadDateList_Ans>::Pointer ctx);
  23. virtual void Handle_ClearUploadDate(SpReqAnsContext<UploadService_ClearUploadDate_Req, UploadService_ClearUploadDate_Ans>::Pointer ctx);
  24. private:
  25. CUploadEntity* m_pEntity;
  26. };
  27. class CUploadEntity : public CEntityBase
  28. {
  29. public:
  30. CUploadEntity() {}
  31. virtual ~CUploadEntity() {}
  32. virtual const char* GetEntityName() const { return "Upload"; }
  33. virtual bool IsService()const { return true; }
  34. #ifdef RVC_OS_WIN
  35. #else
  36. const char* GetEntityVersion() const override
  37. {
  38. return MODULE_VERSION_FULL;
  39. }
  40. ON_ENTITYT_TEST()
  41. #endif
  42. virtual void OnPreStart(CAutoArray<CSimpleStringA> strArgs, CSmartPointer<ITransactionContext> pTransactionContext)
  43. {
  44. ErrorCodeEnum Error = Error_Succeed;
  45. //MessageBoxA(0,0,0,0);
  46. Error = m_fsm.Init(this);
  47. pTransactionContext->SendAnswer(Error);
  48. }
  49. virtual void OnSelfTest(EntityTestEnum eTestType, CSmartPointer<ITransactionContext> pTransactionContext)
  50. {
  51. if (Test_ShakeHand == eTestType)
  52. {
  53. pTransactionContext->SendAnswer(Error_Succeed);
  54. }
  55. }
  56. virtual void OnPreClose(EntityCloseCauseEnum eCloseCause, CSmartPointer<ITransactionContext> pTransactionContext)
  57. {
  58. pTransactionContext->SendAnswer(Error_Succeed);
  59. }
  60. // 实体服务化
  61. virtual CServerSessionBase* OnNewSession(const char*, const char*)
  62. {
  63. return new UploadSession(this);
  64. }
  65. //查询当前上传进度
  66. ErrorCodeEnum UploadProgess(SpReqAnsContext<UploadService_UploadProgess_Req, UploadService_UploadProgess_Ans>::Pointer ctx)
  67. {
  68. ErrorCodeEnum ret = Error_Succeed;
  69. //UploadProgress progress;
  70. //m_fsm.getUploadProgress(progress);
  71. //ctx->Ans.uploadState=progress.uploadState;
  72. //ctx->Ans.uploadNumber=progress.uploadNumber;
  73. //ctx->Ans.elapseTime=CSimpleStringA2W(progress.elapseTime);
  74. //Dbg("UploadProgess: state %d uploadNumber %d elapseTime %s",progress.uploadState,progress.uploadNumber,progress.elapseTime.GetData());
  75. ctx->Ans.uploadState = 2;
  76. ctx->Ans.uploadNumber = 0;
  77. ctx->Ans.elapseTime = CSimpleStringA2W("");
  78. //Dbg("UploadProgess is disable");
  79. DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("UploadProgess is disable");
  80. return ret;
  81. }
  82. //查询剩余待上传的文件个数
  83. ErrorCodeEnum UploadNumber(SpReqAnsContext<UploadService_UploadNumber_Req, UploadService_UploadNumber_Ans>::Pointer ctx)
  84. {
  85. ErrorCodeEnum ret = Error_Succeed;
  86. //Dbg("UploadNumber req silentTime is %d",ctx->Req.silentTime);
  87. //废弃接口
  88. //int fileNum = m_fsm.getCheckDirFile(ctx->Req.silentTime);
  89. //Dbg("UploadNumber is %d",fileNum);
  90. //ctx->Ans.uploadNumber=fileNum;
  91. ctx->Ans.uploadNumber = 0;
  92. //Dbg("UploadNumber is disable");
  93. DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("UploadNumber is disable");
  94. return ret;
  95. }
  96. //查询上传日期列表
  97. ErrorCodeEnum UploadDateList(SpReqAnsContext<UploadService_UploadDateList_Req, UploadService_UploadDateList_Ans>::Pointer ctx)
  98. {
  99. ErrorCodeEnum ret = Error_Succeed;
  100. CAutoArray<CSimpleStringA> str;
  101. //废弃接口
  102. //ret = m_fsm.getUploadDate(str);
  103. //if(ret==Error_Succeed){
  104. // ctx->Ans.uploadDateStr=str;
  105. //}
  106. ctx->Ans.uploadDateStr = str;
  107. //Dbg("UploadDateList is disable");
  108. DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("UploadDateList is disable");
  109. return ret;
  110. }
  111. //清空上传日期列表
  112. ErrorCodeEnum ClearUploadDate(SpReqAnsContext<UploadService_ClearUploadDate_Req, UploadService_ClearUploadDate_Ans>::Pointer ctx)
  113. {
  114. ErrorCodeEnum ret = Error_Succeed;
  115. //废弃接口
  116. //bool bret = m_fsm.clearUploadDate();
  117. //if(bret){
  118. // ctx->Ans.isOK=true;
  119. //}else{
  120. // ctx->Ans.isOK=false;
  121. //}
  122. //Dbg("ClearUploadDate is disable");
  123. DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("ClearUploadDate is disable");
  124. ctx->Ans.isOK = true;
  125. return ret;
  126. }
  127. private:
  128. UploadFSM m_fsm;
  129. };
  130. #endif