123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133 |
- #ifndef RVC_MOD_UPLOAD_H_
- #define RVC_MOD_UPLOAD_H_
- #include "stdafx.h"
- #include "SpBase.h"
- #include "SpIni.h"
- #include "SpTest.h"
- #include "modVer.h"
- #include "UploadFSM.h"
- #include "Upload_server_g.h"
- using namespace Upload;
- class CUploadEntity;
- class UploadSession : public UploadService_ServerSessionBase
- {
- public:
- UploadSession(CUploadEntity* pEntity) : m_pEntity(pEntity) {}
- virtual ~UploadSession() {}
- virtual void Handle_UploadProgess(SpReqAnsContext<UploadService_UploadProgess_Req, UploadService_UploadProgess_Ans>::Pointer ctx);
- virtual void Handle_UploadNumber(SpReqAnsContext<UploadService_UploadNumber_Req, UploadService_UploadNumber_Ans>::Pointer ctx);
- virtual void Handle_UploadDateList(SpReqAnsContext<UploadService_UploadDateList_Req, UploadService_UploadDateList_Ans>::Pointer ctx);
- virtual void Handle_ClearUploadDate(SpReqAnsContext<UploadService_ClearUploadDate_Req, UploadService_ClearUploadDate_Ans>::Pointer ctx);
- private:
- CUploadEntity* m_pEntity;
- };
- class CUploadEntity : public CEntityBase
- {
- public:
- CUploadEntity() {}
- virtual ~CUploadEntity() {}
- virtual const char* GetEntityName() const { return "Upload"; }
- virtual bool IsService()const { return true; }
- const char* GetEntityVersion() const override
- {
- return MODULE_VERSION_FULL;
- }
- ON_ENTITYT_TEST()
- virtual void OnPreStart(CAutoArray<CSimpleStringA> strArgs, CSmartPointer<ITransactionContext> pTransactionContext)
- {
- ErrorCodeEnum Error = Error_Succeed;
- //MessageBoxA(0,0,0,0);
- Error = m_fsm.Init(this);
- pTransactionContext->SendAnswer(Error);
- }
- virtual void OnSelfTest(EntityTestEnum eTestType, CSmartPointer<ITransactionContext> pTransactionContext)
- {
- if (Test_ShakeHand == eTestType)
- {
- pTransactionContext->SendAnswer(Error_Succeed);
- }
- }
- virtual void OnPreClose(EntityCloseCauseEnum eCloseCause, CSmartPointer<ITransactionContext> pTransactionContext)
- {
- pTransactionContext->SendAnswer(Error_Succeed);
- }
- // 实体服务化
- virtual CServerSessionBase* OnNewSession(const char*, const char*)
- {
- return new UploadSession(this);
- }
- //查询当前上传进度
- ErrorCodeEnum UploadProgess(SpReqAnsContext<UploadService_UploadProgess_Req, UploadService_UploadProgess_Ans>::Pointer ctx)
- {
- ErrorCodeEnum ret = Error_Succeed;
- UploadProgress progress;
- m_fsm.getUploadProgress(progress);
- ctx->Ans.uploadState = progress.uploadState;
- ctx->Ans.uploadNumber = progress.uploadNumber;
- ctx->Ans.elapseTime = CSimpleStringA2W(progress.elapseTime);
- Dbg("UploadProgess: state %d uploadNumber %d elapseTime %s", progress.uploadState, progress.uploadNumber, progress.elapseTime.GetData());
- return ret;
- }
- //查询剩余待上传的文件个数
- ErrorCodeEnum UploadNumber(SpReqAnsContext<UploadService_UploadNumber_Req, UploadService_UploadNumber_Ans>::Pointer ctx)
- {
- ErrorCodeEnum ret = Error_Succeed;
- Dbg("UploadNumber req silentTime is %d", ctx->Req.silentTime);
- int fileNum = m_fsm.getCheckDirFile(ctx->Req.silentTime);
- Dbg("UploadNumber is %d", fileNum);
- ctx->Ans.uploadNumber = fileNum;
- return ret;
- }
- //查询上传日期列表
- ErrorCodeEnum UploadDateList(SpReqAnsContext<UploadService_UploadDateList_Req, UploadService_UploadDateList_Ans>::Pointer ctx)
- {
- ErrorCodeEnum ret = Error_Succeed;
- CAutoArray<CSimpleStringA> str;
- ret = m_fsm.getUploadDate(str);
- if (ret == Error_Succeed) {
- ctx->Ans.uploadDateStr = str;
- }
- return ret;
- }
- //清空上传日期列表
- ErrorCodeEnum ClearUploadDate(SpReqAnsContext<UploadService_ClearUploadDate_Req, UploadService_ClearUploadDate_Ans>::Pointer ctx)
- {
- ErrorCodeEnum ret = Error_Succeed;
- bool bret = m_fsm.clearUploadDate();
- if (bret) {
- ctx->Ans.isOK = true;
- }
- else {
- ctx->Ans.isOK = false;
- }
- return ret;
- }
- private:
- UploadFSM m_fsm;
- };
- #endif
|