mod_upload.h 4.3 KB

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