SpClientSessionFunction.h 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #pragma once
  2. #include "SpAsyncWait.h"
  3. class SpClientSessionFunction : public IClientSessionFunction, public SpAsyncWait
  4. {
  5. public:
  6. SpClientSessionFunction(SpEntity *pEntity, CClientSessionBase *pClientSessionBase, const char *pszRemoteEntity);
  7. virtual ~SpClientSessionFunction();
  8. //SpAsyncWait
  9. virtual ErrorCodeEnum Begin(const char *pszParam);
  10. virtual ErrorCodeEnum Close();
  11. virtual void OnAnswerWaited(ErrorCodeEnum Error);
  12. //IClientSessionFunction
  13. virtual ErrorCodeEnum OnewayCall(DWORD dwMessageID, DWORD dwMessageSignature, CAutoBuffer Buffer);
  14. virtual ErrorCodeEnum OnewayCall(DWORD dwMessageID, DWORD dwMessageSignature);
  15. virtual ErrorCodeEnum OnewayCall(DWORD dwMessageID, DWORD dwMessageSignature, CAutoBuffer Buffer, linkContext& pContext);
  16. virtual ErrorCodeEnum OnewayCall(DWORD dwMessageID, DWORD dwMessageSignature, linkContext& pContext);
  17. virtual ErrorCodeEnum AsyncRequest(DWORD dwMessageID, DWORD dwMessageSignature, CAutoBuffer Buffer, CSmartPointer<IAsynWaitSp> &pAsynWaitSp, DWORD dwTimeOut, DWORD dwReqId);
  18. virtual ErrorCodeEnum AsyncRequest(DWORD dwMessageID, DWORD dwMessageSignature, CSmartPointer<IAsynWaitSp> &pAsynWaitSp, DWORD dwTimeOut, DWORD dwReqId);
  19. virtual ErrorCodeEnum AsyncRequest(DWORD dwMessageID, DWORD dwMessageSignature, CAutoBuffer Buffer, CSmartPointer<IAsynWaitSp>& pAsynWaitSp, linkContext& pContext, DWORD dwTimeOut, DWORD dwReqId);
  20. virtual ErrorCodeEnum AsyncRequest(DWORD dwMessageID, DWORD dwMessageSignature, CSmartPointer<IAsynWaitSp>& pAsynWaitSp, linkContext& pContext, DWORD dwTimeOut, DWORD dwReqId);
  21. virtual SessionStateEnum GetCurrentState();
  22. virtual ErrorCodeEnum CloseSession();
  23. virtual const char *GetRemoteEntityName();
  24. static void __on_connect(sp_ses_uac_t *uac, int error, void *user_data);
  25. static void __on_close(sp_ses_uac_t *uac, int error, void *user_data);
  26. static void __on_destroy(sp_ses_uac_t *uac, void *user_data);
  27. void on_connect(int error);
  28. void on_close(int error);
  29. void on_destroy();
  30. bool isVaildPointer();
  31. private:
  32. SpEntity *m_pEntity;
  33. CClientSessionBase *m_pClientSessionBase;
  34. sp_ses_uac_t *m_uac;
  35. int m_local_seq;
  36. long long m_value; //judge the wild pointer
  37. };