mod_upload.h 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  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. private:
  21. CUploadEntity* m_pEntity;
  22. };
  23. class CUploadEntity : public CEntityBase
  24. {
  25. public:
  26. CUploadEntity() {}
  27. virtual ~CUploadEntity() {}
  28. virtual const char* GetEntityName() const { return "Upload"; }
  29. virtual bool IsService()const { return true; }
  30. #ifdef RVC_OS_WIN
  31. #else
  32. const char* GetEntityVersion() const override
  33. {
  34. return MODULE_VERSION_FULL;
  35. }
  36. ON_ENTITYT_TEST()
  37. #endif
  38. virtual void OnPreStart(CAutoArray<CSimpleStringA> strArgs, CSmartPointer<ITransactionContext> pTransactionContext)
  39. {
  40. ErrorCodeEnum Error = Error_Succeed;
  41. //MessageBoxA(0,0,0,0);
  42. Error = m_fsm.Init(this);
  43. pTransactionContext->SendAnswer(Error);
  44. }
  45. virtual void OnSelfTest(EntityTestEnum eTestType, CSmartPointer<ITransactionContext> pTransactionContext)
  46. {
  47. if (Test_ShakeHand == eTestType)
  48. {
  49. pTransactionContext->SendAnswer(Error_Succeed);
  50. }
  51. }
  52. virtual void OnPreClose(EntityCloseCauseEnum eCloseCause, CSmartPointer<ITransactionContext> pTransactionContext)
  53. {
  54. pTransactionContext->SendAnswer(Error_Succeed);
  55. }
  56. // 实体服务化
  57. virtual CServerSessionBase* OnNewSession(const char*, const char*)
  58. {
  59. return new UploadSession(this);
  60. }
  61. private:
  62. UploadFSM m_fsm;
  63. };
  64. #endif