1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- #pragma once
- #include "SpAsyncWait.h"
- class SpClientSessionFunction : public IClientSessionFunction, public SpAsyncWait
- {
- public:
- SpClientSessionFunction(SpEntity *pEntity, CClientSessionBase *pClientSessionBase, const char *pszRemoteEntity);
- virtual ~SpClientSessionFunction();
- //SpAsyncWait
- virtual ErrorCodeEnum Begin(const char *pszParam);
- virtual ErrorCodeEnum Close();
- virtual void OnAnswerWaited(ErrorCodeEnum Error);
- //IClientSessionFunction
- virtual ErrorCodeEnum OnewayCall(DWORD dwMessageID, DWORD dwMessageSignature, CAutoBuffer Buffer);
- virtual ErrorCodeEnum OnewayCall(DWORD dwMessageID, DWORD dwMessageSignature);
- virtual ErrorCodeEnum OnewayCall(DWORD dwMessageID, DWORD dwMessageSignature, CAutoBuffer Buffer, linkContext& pContext);
- virtual ErrorCodeEnum OnewayCall(DWORD dwMessageID, DWORD dwMessageSignature, linkContext& pContext);
- virtual ErrorCodeEnum AsyncRequest(DWORD dwMessageID, DWORD dwMessageSignature, CAutoBuffer Buffer, CSmartPointer<IAsynWaitSp> &pAsynWaitSp, DWORD dwTimeOut, DWORD dwReqId);
- virtual ErrorCodeEnum AsyncRequest(DWORD dwMessageID, DWORD dwMessageSignature, CSmartPointer<IAsynWaitSp> &pAsynWaitSp, DWORD dwTimeOut, DWORD dwReqId);
- virtual ErrorCodeEnum AsyncRequest(DWORD dwMessageID, DWORD dwMessageSignature, CAutoBuffer Buffer, CSmartPointer<IAsynWaitSp>& pAsynWaitSp, linkContext& pContext, DWORD dwTimeOut, DWORD dwReqId);
- virtual ErrorCodeEnum AsyncRequest(DWORD dwMessageID, DWORD dwMessageSignature, CSmartPointer<IAsynWaitSp>& pAsynWaitSp, linkContext& pContext, DWORD dwTimeOut, DWORD dwReqId);
- virtual SessionStateEnum GetCurrentState();
- virtual ErrorCodeEnum CloseSession();
- virtual const char *GetRemoteEntityName();
- static void __on_connect(sp_ses_uac_t *uac, int error, void *user_data);
- static void __on_close(sp_ses_uac_t *uac, int error, void *user_data);
- static void __on_destroy(sp_ses_uac_t *uac, void *user_data);
- void on_connect(int error);
- void on_close(int error);
- void on_destroy();
- bool isVaildPointer();
- private:
- SpEntity *m_pEntity;
- CClientSessionBase *m_pClientSessionBase;
- sp_ses_uac_t *m_uac;
- int m_local_seq;
- long long m_value; //judge the wild pointer
- };
|