#ifndef RVC_MOD_UPLOAD_H_ #define RVC_MOD_UPLOAD_H_ #include "stdafx.h" #include "SpBase.h" #include "SpIni.h" #ifdef RVC_OS_WIN #else #include "SpTest.h" #include "modVer.h" #endif #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() {} 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; } #ifdef RVC_OS_WIN #else const char* GetEntityVersion() const override { return MODULE_VERSION_FULL; } ON_ENTITYT_TEST() #endif virtual void OnPreStart(CAutoArray strArgs, CSmartPointer pTransactionContext) { ErrorCodeEnum Error = Error_Succeed; //MessageBoxA(0,0,0,0); Error = m_fsm.Init(this); pTransactionContext->SendAnswer(Error); } virtual void OnSelfTest(EntityTestEnum eTestType, CSmartPointer pTransactionContext) { if (Test_ShakeHand == eTestType) { pTransactionContext->SendAnswer(Error_Succeed); } } virtual void OnPreClose(EntityCloseCauseEnum eCloseCause, CSmartPointer pTransactionContext) { pTransactionContext->SendAnswer(Error_Succeed); } // 实体服务化 virtual CServerSessionBase* OnNewSession(const char*, const char*) { return new UploadSession(this); } private: UploadFSM m_fsm; }; #endif