#ifndef __SIPPHONE_CLIENT_G_H #define __SIPPHONE_CLIENT_G_H #pragma once // This code is generated by spgen tool! #include "SIPPhone_def_g.h" namespace SIPPhone { class PhoneService_ClientBase : public CClientSessionBase, public ICallbackListener { public: explicit PhoneService_ClientBase(CEntityBase *pEntity) : m_pEntityBase(pEntity), m_bSysManaged(false) {} PhoneService_ClientBase* operator () (const linkContext &curLink) { m_context = curLink; return this; } protected: virtual ~PhoneService_ClientBase() { /// override by user } public: void OnConnectSucceed() { bSessionClosed = false; } void OnClose(ErrorCodeEnum) { Dbg("session closed."); bSessionClosed = true; } bool QuerySessionClosed() { return bSessionClosed; } ErrorCodeEnum Connect(CSmartPointer &spAsyncWait) { CSmartPointer pFunc = m_pEntityBase->GetFunction(); ErrorCodeEnum Error = pFunc->ConnectRemoteEntity(this, "SIPPhone", "PhoneService", spAsyncWait); if (Error == Error_Succeed) { m_bSysManaged = true; bSessionClosed = false; } return Error; } ErrorCodeEnum Connect() { CSmartPointer spAsyncWait; ErrorCodeEnum Error = Connect(spAsyncWait); if (Error == Error_Succeed) { Error = spAsyncWait->WaitAnswer(); } return Error; } ErrorCodeEnum MakeCall(PhoneService_MakeCall_Req &Req, CSmartPointer &spAsyncWait, DWORD dwTimeout) { CSmartPointer pFunc = GetFunction(); CAutoBuffer Buf = SpObject2Buffer(Req); if (m_context.checkEmpty()) { m_context.AutoGenerate(); DbgToBeidou(m_context, m_pEntityBase != NULL ? m_pEntityBase->GetEntityName() : "")(); m_context = m_context.upgradeLink(); } auto ret = pFunc->AsyncRequest(PhoneService_Method_MakeCall, PhoneService_MethodSignature_MakeCall, Buf, spAsyncWait, m_context, dwTimeout); m_context.clear(); return ret; } ErrorCodeEnum MakeCall(PhoneService_MakeCall_Req &Req, PhoneService_MakeCall_Ans &Ans, DWORD dwTimeout) { CSmartPointer spAsyncWait; ErrorCodeEnum Error = MakeCall(Req, spAsyncWait, dwTimeout); if (Error == Error_Succeed) { bool bEnd = false; Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwTimeout); LOG_ASSERT(Error || bEnd); } return Error; } ErrorCodeEnum MakeCall(PhoneService_MakeCall_Req &Req, PhoneService_MakeCall_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError, CSimpleString &str) { CSmartPointer spAsyncWait; ErrorCodeEnum Error = MakeCall(Req, spAsyncWait, dwTimeout); if (Error == Error_Succeed) { bool bEnd = false; Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwUserError, str, dwTimeout); LOG_ASSERT(Error || bEnd); } return Error; } ErrorCodeEnum MakeCall(PhoneService_MakeCall_Req &Req, PhoneService_MakeCall_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError) { CSmartPointer spAsyncWait; ErrorCodeEnum Error = MakeCall(Req, spAsyncWait, dwTimeout); if (Error == Error_Succeed) { bool bEnd = false; CSimpleString str; Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwUserError, str, dwTimeout); LOG_ASSERT(Error || bEnd); } return Error; } ErrorCodeEnum HangupCall(PhoneService_HangupCall_Req &Req, CSmartPointer &spAsyncWait, DWORD dwTimeout) { CSmartPointer pFunc = GetFunction(); CAutoBuffer Buf = SpObject2Buffer(Req); if (m_context.checkEmpty()) { m_context.AutoGenerate(); DbgToBeidou(m_context, m_pEntityBase != NULL ? m_pEntityBase->GetEntityName() : "")(); m_context = m_context.upgradeLink(); } auto ret = pFunc->AsyncRequest(PhoneService_Method_HangupCall, PhoneService_MethodSignature_HangupCall, Buf, spAsyncWait, m_context, dwTimeout); m_context.clear(); return ret; } ErrorCodeEnum HangupCall(PhoneService_HangupCall_Req &Req, PhoneService_HangupCall_Ans &Ans, DWORD dwTimeout) { CSmartPointer spAsyncWait; ErrorCodeEnum Error = HangupCall(Req, spAsyncWait, dwTimeout); if (Error == Error_Succeed) { bool bEnd = false; Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwTimeout); LOG_ASSERT(Error || bEnd); } return Error; } ErrorCodeEnum HangupCall(PhoneService_HangupCall_Req &Req, PhoneService_HangupCall_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError, CSimpleString &str) { CSmartPointer spAsyncWait; ErrorCodeEnum Error = HangupCall(Req, spAsyncWait, dwTimeout); if (Error == Error_Succeed) { bool bEnd = false; Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwUserError, str, dwTimeout); LOG_ASSERT(Error || bEnd); } return Error; } ErrorCodeEnum HangupCall(PhoneService_HangupCall_Req &Req, PhoneService_HangupCall_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError) { CSmartPointer spAsyncWait; ErrorCodeEnum Error = HangupCall(Req, spAsyncWait, dwTimeout); if (Error == Error_Succeed) { bool bEnd = false; CSimpleString str; Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwUserError, str, dwTimeout); LOG_ASSERT(Error || bEnd); } return Error; } ErrorCodeEnum StartVideo(PhoneService_StartVideo_Info &Info) { CSmartPointer pFunc = GetFunction(); if (m_context.checkEmpty()) { m_context.AutoGenerate(); DbgToBeidou(m_context, m_pEntityBase != NULL ? m_pEntityBase->GetEntityName() : "")(); m_context = m_context.upgradeLink(); } CAutoBuffer Buf = SpObject2Buffer(Info); auto ret = pFunc->OnewayCall(PhoneService_Method_StartVideo, PhoneService_MethodSignature_StartVideo, Buf, m_context); m_context.clear(); return ret; } ErrorCodeEnum StopVideo() { CSmartPointer pFunc = GetFunction(); if (m_context.checkEmpty()) { m_context.AutoGenerate(); DbgToBeidou(m_context, m_pEntityBase != NULL ? m_pEntityBase->GetEntityName() : "")(); m_context = m_context.upgradeLink(); } auto ret = pFunc->OnewayCall(PhoneService_Method_StopVideo, PhoneService_MethodSignature_StopVideo, m_context); m_context.clear(); return ret; } ErrorCodeEnum RealErrorCheck() { CSmartPointer pFunc = GetFunction(); if (m_context.checkEmpty()) { m_context.AutoGenerate(); DbgToBeidou(m_context, m_pEntityBase != NULL ? m_pEntityBase->GetEntityName() : "")(); m_context = m_context.upgradeLink(); } auto ret = pFunc->OnewayCall(PhoneService_Method_RealErrorCheck, PhoneService_MethodSignature_RealErrorCheck, m_context); m_context.clear(); return ret; } ErrorCodeEnum ReleaseCall(PhoneService_ReleaseCall_Req &Req, CSmartPointer &spAsyncWait, DWORD dwTimeout) { CSmartPointer pFunc = GetFunction(); CAutoBuffer Buf = SpObject2Buffer(Req); if (m_context.checkEmpty()) { m_context.AutoGenerate(); DbgToBeidou(m_context, m_pEntityBase != NULL ? m_pEntityBase->GetEntityName() : "")(); m_context = m_context.upgradeLink(); } auto ret = pFunc->AsyncRequest(PhoneService_Method_ReleaseCall, PhoneService_MethodSignature_ReleaseCall, Buf, spAsyncWait, m_context, dwTimeout); m_context.clear(); return ret; } ErrorCodeEnum ReleaseCall(PhoneService_ReleaseCall_Req &Req, PhoneService_ReleaseCall_Ans &Ans, DWORD dwTimeout) { CSmartPointer spAsyncWait; ErrorCodeEnum Error = ReleaseCall(Req, spAsyncWait, dwTimeout); if (Error == Error_Succeed) { bool bEnd = false; Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwTimeout); LOG_ASSERT(Error || bEnd); } return Error; } ErrorCodeEnum ReleaseCall(PhoneService_ReleaseCall_Req &Req, PhoneService_ReleaseCall_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError, CSimpleString &str) { CSmartPointer spAsyncWait; ErrorCodeEnum Error = ReleaseCall(Req, spAsyncWait, dwTimeout); if (Error == Error_Succeed) { bool bEnd = false; Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwUserError, str, dwTimeout); LOG_ASSERT(Error || bEnd); } return Error; } ErrorCodeEnum ReleaseCall(PhoneService_ReleaseCall_Req &Req, PhoneService_ReleaseCall_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError) { CSmartPointer spAsyncWait; ErrorCodeEnum Error = ReleaseCall(Req, spAsyncWait, dwTimeout); if (Error == Error_Succeed) { bool bEnd = false; CSimpleString str; Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwUserError, str, dwTimeout); LOG_ASSERT(Error || bEnd); } return Error; } ErrorCodeEnum BeginState(PhoneService_BeginState_Sub &Req, CSmartPointer &spAsyncWait) { CSmartPointer pFunc = GetFunction(); CAutoBuffer Buf = SpObject2Buffer(Req); ErrorCodeEnum Error = pFunc->AsyncRequest(PhoneService_Method_BeginState, PhoneService_MethodSignature_BeginState, Buf, spAsyncWait, -1); return Error; } ErrorCodeEnum BeginState(PhoneService_BeginState_Sub &Req, ICallbackListener *pCallback,IReleasable *pData = NULL) { CSmartPointer spAsyncWait; ErrorCodeEnum Error = BeginState(Req, spAsyncWait); if (Error == Error_Succeed) { spAsyncWait->SetCallback(pCallback, pData); } return Error; } ErrorCodeEnum BeginState(PhoneService_BeginState_Sub &Req, IReleasable *pData = NULL) { return BeginState(Req, this, pData); } ErrorCodeEnum EndState(PhoneService_EndState_Info &CancelInfo) { CSmartPointer pFunc = GetFunction(); return pFunc->OnewayCall(PhoneService_Method_EndState, PhoneService_MethodSignature_EndState); } virtual void OnMessage(ErrorCodeEnum Error, PhoneService_PhoneState_Info &Msg, CSmartPointer pData) { /// implement by user } ErrorCodeEnum SetCallingParam(PhoneService_SetCallingParam_Info &Info) { CSmartPointer pFunc = GetFunction(); if (m_context.checkEmpty()) { m_context.AutoGenerate(); DbgToBeidou(m_context, m_pEntityBase != NULL ? m_pEntityBase->GetEntityName() : "")(); m_context = m_context.upgradeLink(); } CAutoBuffer Buf = SpObject2Buffer(Info); auto ret = pFunc->OnewayCall(PhoneService_Method_SetCallingParam, PhoneService_MethodSignature_SetCallingParam, Buf, m_context); m_context.clear(); return ret; } ErrorCodeEnum GetHandfreeOutVolume(PhoneService_GetHandfreeOutVolume_Req &Req, CSmartPointer &spAsyncWait, DWORD dwTimeout) { CSmartPointer pFunc = GetFunction(); CAutoBuffer Buf = SpObject2Buffer(Req); if (m_context.checkEmpty()) { m_context.AutoGenerate(); DbgToBeidou(m_context, m_pEntityBase != NULL ? m_pEntityBase->GetEntityName() : "")(); m_context = m_context.upgradeLink(); } auto ret = pFunc->AsyncRequest(PhoneService_Method_GetHandfreeOutVolume, PhoneService_MethodSignature_GetHandfreeOutVolume, Buf, spAsyncWait, m_context, dwTimeout); m_context.clear(); return ret; } ErrorCodeEnum GetHandfreeOutVolume(PhoneService_GetHandfreeOutVolume_Req &Req, PhoneService_GetHandfreeOutVolume_Ans &Ans, DWORD dwTimeout) { CSmartPointer spAsyncWait; ErrorCodeEnum Error = GetHandfreeOutVolume(Req, spAsyncWait, dwTimeout); if (Error == Error_Succeed) { bool bEnd = false; Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwTimeout); LOG_ASSERT(Error || bEnd); } return Error; } ErrorCodeEnum GetHandfreeOutVolume(PhoneService_GetHandfreeOutVolume_Req &Req, PhoneService_GetHandfreeOutVolume_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError, CSimpleString &str) { CSmartPointer spAsyncWait; ErrorCodeEnum Error = GetHandfreeOutVolume(Req, spAsyncWait, dwTimeout); if (Error == Error_Succeed) { bool bEnd = false; Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwUserError, str, dwTimeout); LOG_ASSERT(Error || bEnd); } return Error; } ErrorCodeEnum GetHandfreeOutVolume(PhoneService_GetHandfreeOutVolume_Req &Req, PhoneService_GetHandfreeOutVolume_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError) { CSmartPointer spAsyncWait; ErrorCodeEnum Error = GetHandfreeOutVolume(Req, spAsyncWait, dwTimeout); if (Error == Error_Succeed) { bool bEnd = false; CSimpleString str; Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwUserError, str, dwTimeout); LOG_ASSERT(Error || bEnd); } return Error; } ErrorCodeEnum SetHandfreeOutVolume(PhoneService_SetHandfreeOutVolume_Req &Req, CSmartPointer &spAsyncWait, DWORD dwTimeout) { CSmartPointer pFunc = GetFunction(); CAutoBuffer Buf = SpObject2Buffer(Req); if (m_context.checkEmpty()) { m_context.AutoGenerate(); DbgToBeidou(m_context, m_pEntityBase != NULL ? m_pEntityBase->GetEntityName() : "")(); m_context = m_context.upgradeLink(); } auto ret = pFunc->AsyncRequest(PhoneService_Method_SetHandfreeOutVolume, PhoneService_MethodSignature_SetHandfreeOutVolume, Buf, spAsyncWait, m_context, dwTimeout); m_context.clear(); return ret; } ErrorCodeEnum SetHandfreeOutVolume(PhoneService_SetHandfreeOutVolume_Req &Req, PhoneService_SetHandfreeOutVolume_Ans &Ans, DWORD dwTimeout) { CSmartPointer spAsyncWait; ErrorCodeEnum Error = SetHandfreeOutVolume(Req, spAsyncWait, dwTimeout); if (Error == Error_Succeed) { bool bEnd = false; Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwTimeout); LOG_ASSERT(Error || bEnd); } return Error; } ErrorCodeEnum SetHandfreeOutVolume(PhoneService_SetHandfreeOutVolume_Req &Req, PhoneService_SetHandfreeOutVolume_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError, CSimpleString &str) { CSmartPointer spAsyncWait; ErrorCodeEnum Error = SetHandfreeOutVolume(Req, spAsyncWait, dwTimeout); if (Error == Error_Succeed) { bool bEnd = false; Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwUserError, str, dwTimeout); LOG_ASSERT(Error || bEnd); } return Error; } ErrorCodeEnum SetHandfreeOutVolume(PhoneService_SetHandfreeOutVolume_Req &Req, PhoneService_SetHandfreeOutVolume_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError) { CSmartPointer spAsyncWait; ErrorCodeEnum Error = SetHandfreeOutVolume(Req, spAsyncWait, dwTimeout); if (Error == Error_Succeed) { bool bEnd = false; CSimpleString str; Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwUserError, str, dwTimeout); LOG_ASSERT(Error || bEnd); } return Error; } ErrorCodeEnum SetPickupOutVolume(PhoneService_SetPickupOutVolume_Req &Req, CSmartPointer &spAsyncWait, DWORD dwTimeout) { CSmartPointer pFunc = GetFunction(); CAutoBuffer Buf = SpObject2Buffer(Req); if (m_context.checkEmpty()) { m_context.AutoGenerate(); DbgToBeidou(m_context, m_pEntityBase != NULL ? m_pEntityBase->GetEntityName() : "")(); m_context = m_context.upgradeLink(); } auto ret = pFunc->AsyncRequest(PhoneService_Method_SetPickupOutVolume, PhoneService_MethodSignature_SetPickupOutVolume, Buf, spAsyncWait, m_context, dwTimeout); m_context.clear(); return ret; } ErrorCodeEnum SetPickupOutVolume(PhoneService_SetPickupOutVolume_Req &Req, PhoneService_SetPickupOutVolume_Ans &Ans, DWORD dwTimeout) { CSmartPointer spAsyncWait; ErrorCodeEnum Error = SetPickupOutVolume(Req, spAsyncWait, dwTimeout); if (Error == Error_Succeed) { bool bEnd = false; Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwTimeout); LOG_ASSERT(Error || bEnd); } return Error; } ErrorCodeEnum SetPickupOutVolume(PhoneService_SetPickupOutVolume_Req &Req, PhoneService_SetPickupOutVolume_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError, CSimpleString &str) { CSmartPointer spAsyncWait; ErrorCodeEnum Error = SetPickupOutVolume(Req, spAsyncWait, dwTimeout); if (Error == Error_Succeed) { bool bEnd = false; Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwUserError, str, dwTimeout); LOG_ASSERT(Error || bEnd); } return Error; } ErrorCodeEnum SetPickupOutVolume(PhoneService_SetPickupOutVolume_Req &Req, PhoneService_SetPickupOutVolume_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError) { CSmartPointer spAsyncWait; ErrorCodeEnum Error = SetPickupOutVolume(Req, spAsyncWait, dwTimeout); if (Error == Error_Succeed) { bool bEnd = false; CSimpleString str; Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwUserError, str, dwTimeout); LOG_ASSERT(Error || bEnd); } return Error; } ErrorCodeEnum GetPickupOutVolume(PhoneService_GetPickupOutVolume_Req &Req, CSmartPointer &spAsyncWait, DWORD dwTimeout) { CSmartPointer pFunc = GetFunction(); CAutoBuffer Buf = SpObject2Buffer(Req); if (m_context.checkEmpty()) { m_context.AutoGenerate(); DbgToBeidou(m_context, m_pEntityBase != NULL ? m_pEntityBase->GetEntityName() : "")(); m_context = m_context.upgradeLink(); } auto ret = pFunc->AsyncRequest(PhoneService_Method_GetPickupOutVolume, PhoneService_MethodSignature_GetPickupOutVolume, Buf, spAsyncWait, m_context, dwTimeout); m_context.clear(); return ret; } ErrorCodeEnum GetPickupOutVolume(PhoneService_GetPickupOutVolume_Req &Req, PhoneService_GetPickupOutVolume_Ans &Ans, DWORD dwTimeout) { CSmartPointer spAsyncWait; ErrorCodeEnum Error = GetPickupOutVolume(Req, spAsyncWait, dwTimeout); if (Error == Error_Succeed) { bool bEnd = false; Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwTimeout); LOG_ASSERT(Error || bEnd); } return Error; } ErrorCodeEnum GetPickupOutVolume(PhoneService_GetPickupOutVolume_Req &Req, PhoneService_GetPickupOutVolume_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError, CSimpleString &str) { CSmartPointer spAsyncWait; ErrorCodeEnum Error = GetPickupOutVolume(Req, spAsyncWait, dwTimeout); if (Error == Error_Succeed) { bool bEnd = false; Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwUserError, str, dwTimeout); LOG_ASSERT(Error || bEnd); } return Error; } ErrorCodeEnum GetPickupOutVolume(PhoneService_GetPickupOutVolume_Req &Req, PhoneService_GetPickupOutVolume_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError) { CSmartPointer spAsyncWait; ErrorCodeEnum Error = GetPickupOutVolume(Req, spAsyncWait, dwTimeout); if (Error == Error_Succeed) { bool bEnd = false; CSimpleString str; Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwUserError, str, dwTimeout); LOG_ASSERT(Error || bEnd); } return Error; } ErrorCodeEnum StartVideoRender(PhoneService_StartVideoRender_Info &Info) { CSmartPointer pFunc = GetFunction(); if (m_context.checkEmpty()) { m_context.AutoGenerate(); DbgToBeidou(m_context, m_pEntityBase != NULL ? m_pEntityBase->GetEntityName() : "")(); m_context = m_context.upgradeLink(); } CAutoBuffer Buf = SpObject2Buffer(Info); auto ret = pFunc->OnewayCall(PhoneService_Method_StartVideoRender, PhoneService_MethodSignature_StartVideoRender, Buf, m_context); m_context.clear(); return ret; } ErrorCodeEnum StopVideoRender() { CSmartPointer pFunc = GetFunction(); if (m_context.checkEmpty()) { m_context.AutoGenerate(); DbgToBeidou(m_context, m_pEntityBase != NULL ? m_pEntityBase->GetEntityName() : "")(); m_context = m_context.upgradeLink(); } auto ret = pFunc->OnewayCall(PhoneService_Method_StopVideoRender, PhoneService_MethodSignature_StopVideoRender, m_context); m_context.clear(); return ret; } ErrorCodeEnum GetHandfreeInVolume(PhoneService_GetHandfreeInVolume_Req &Req, CSmartPointer &spAsyncWait, DWORD dwTimeout) { CSmartPointer pFunc = GetFunction(); CAutoBuffer Buf = SpObject2Buffer(Req); if (m_context.checkEmpty()) { m_context.AutoGenerate(); DbgToBeidou(m_context, m_pEntityBase != NULL ? m_pEntityBase->GetEntityName() : "")(); m_context = m_context.upgradeLink(); } auto ret = pFunc->AsyncRequest(PhoneService_Method_GetHandfreeInVolume, PhoneService_MethodSignature_GetHandfreeInVolume, Buf, spAsyncWait, m_context, dwTimeout); m_context.clear(); return ret; } ErrorCodeEnum GetHandfreeInVolume(PhoneService_GetHandfreeInVolume_Req &Req, PhoneService_GetHandfreeInVolume_Ans &Ans, DWORD dwTimeout) { CSmartPointer spAsyncWait; ErrorCodeEnum Error = GetHandfreeInVolume(Req, spAsyncWait, dwTimeout); if (Error == Error_Succeed) { bool bEnd = false; Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwTimeout); LOG_ASSERT(Error || bEnd); } return Error; } ErrorCodeEnum GetHandfreeInVolume(PhoneService_GetHandfreeInVolume_Req &Req, PhoneService_GetHandfreeInVolume_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError, CSimpleString &str) { CSmartPointer spAsyncWait; ErrorCodeEnum Error = GetHandfreeInVolume(Req, spAsyncWait, dwTimeout); if (Error == Error_Succeed) { bool bEnd = false; Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwUserError, str, dwTimeout); LOG_ASSERT(Error || bEnd); } return Error; } ErrorCodeEnum GetHandfreeInVolume(PhoneService_GetHandfreeInVolume_Req &Req, PhoneService_GetHandfreeInVolume_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError) { CSmartPointer spAsyncWait; ErrorCodeEnum Error = GetHandfreeInVolume(Req, spAsyncWait, dwTimeout); if (Error == Error_Succeed) { bool bEnd = false; CSimpleString str; Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwUserError, str, dwTimeout); LOG_ASSERT(Error || bEnd); } return Error; } ErrorCodeEnum SetHandfreeInVolume(PhoneService_SetHandfreeInVolume_Req &Req, CSmartPointer &spAsyncWait, DWORD dwTimeout) { CSmartPointer pFunc = GetFunction(); CAutoBuffer Buf = SpObject2Buffer(Req); if (m_context.checkEmpty()) { m_context.AutoGenerate(); DbgToBeidou(m_context, m_pEntityBase != NULL ? m_pEntityBase->GetEntityName() : "")(); m_context = m_context.upgradeLink(); } auto ret = pFunc->AsyncRequest(PhoneService_Method_SetHandfreeInVolume, PhoneService_MethodSignature_SetHandfreeInVolume, Buf, spAsyncWait, m_context, dwTimeout); m_context.clear(); return ret; } ErrorCodeEnum SetHandfreeInVolume(PhoneService_SetHandfreeInVolume_Req &Req, PhoneService_SetHandfreeInVolume_Ans &Ans, DWORD dwTimeout) { CSmartPointer spAsyncWait; ErrorCodeEnum Error = SetHandfreeInVolume(Req, spAsyncWait, dwTimeout); if (Error == Error_Succeed) { bool bEnd = false; Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwTimeout); LOG_ASSERT(Error || bEnd); } return Error; } ErrorCodeEnum SetHandfreeInVolume(PhoneService_SetHandfreeInVolume_Req &Req, PhoneService_SetHandfreeInVolume_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError, CSimpleString &str) { CSmartPointer spAsyncWait; ErrorCodeEnum Error = SetHandfreeInVolume(Req, spAsyncWait, dwTimeout); if (Error == Error_Succeed) { bool bEnd = false; Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwUserError, str, dwTimeout); LOG_ASSERT(Error || bEnd); } return Error; } ErrorCodeEnum SetHandfreeInVolume(PhoneService_SetHandfreeInVolume_Req &Req, PhoneService_SetHandfreeInVolume_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError) { CSmartPointer spAsyncWait; ErrorCodeEnum Error = SetHandfreeInVolume(Req, spAsyncWait, dwTimeout); if (Error == Error_Succeed) { bool bEnd = false; CSimpleString str; Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwUserError, str, dwTimeout); LOG_ASSERT(Error || bEnd); } return Error; } ErrorCodeEnum SetPickupInVolume(PhoneService_SetPickupInVolume_Req &Req, CSmartPointer &spAsyncWait, DWORD dwTimeout) { CSmartPointer pFunc = GetFunction(); CAutoBuffer Buf = SpObject2Buffer(Req); if (m_context.checkEmpty()) { m_context.AutoGenerate(); DbgToBeidou(m_context, m_pEntityBase != NULL ? m_pEntityBase->GetEntityName() : "")(); m_context = m_context.upgradeLink(); } auto ret = pFunc->AsyncRequest(PhoneService_Method_SetPickupInVolume, PhoneService_MethodSignature_SetPickupInVolume, Buf, spAsyncWait, m_context, dwTimeout); m_context.clear(); return ret; } ErrorCodeEnum SetPickupInVolume(PhoneService_SetPickupInVolume_Req &Req, PhoneService_SetPickupInVolume_Ans &Ans, DWORD dwTimeout) { CSmartPointer spAsyncWait; ErrorCodeEnum Error = SetPickupInVolume(Req, spAsyncWait, dwTimeout); if (Error == Error_Succeed) { bool bEnd = false; Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwTimeout); LOG_ASSERT(Error || bEnd); } return Error; } ErrorCodeEnum SetPickupInVolume(PhoneService_SetPickupInVolume_Req &Req, PhoneService_SetPickupInVolume_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError, CSimpleString &str) { CSmartPointer spAsyncWait; ErrorCodeEnum Error = SetPickupInVolume(Req, spAsyncWait, dwTimeout); if (Error == Error_Succeed) { bool bEnd = false; Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwUserError, str, dwTimeout); LOG_ASSERT(Error || bEnd); } return Error; } ErrorCodeEnum SetPickupInVolume(PhoneService_SetPickupInVolume_Req &Req, PhoneService_SetPickupInVolume_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError) { CSmartPointer spAsyncWait; ErrorCodeEnum Error = SetPickupInVolume(Req, spAsyncWait, dwTimeout); if (Error == Error_Succeed) { bool bEnd = false; CSimpleString str; Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwUserError, str, dwTimeout); LOG_ASSERT(Error || bEnd); } return Error; } ErrorCodeEnum GetPickupInVolume(PhoneService_GetPickupInVolume_Req &Req, CSmartPointer &spAsyncWait, DWORD dwTimeout) { CSmartPointer pFunc = GetFunction(); CAutoBuffer Buf = SpObject2Buffer(Req); if (m_context.checkEmpty()) { m_context.AutoGenerate(); DbgToBeidou(m_context, m_pEntityBase != NULL ? m_pEntityBase->GetEntityName() : "")(); m_context = m_context.upgradeLink(); } auto ret = pFunc->AsyncRequest(PhoneService_Method_GetPickupInVolume, PhoneService_MethodSignature_GetPickupInVolume, Buf, spAsyncWait, m_context, dwTimeout); m_context.clear(); return ret; } ErrorCodeEnum GetPickupInVolume(PhoneService_GetPickupInVolume_Req &Req, PhoneService_GetPickupInVolume_Ans &Ans, DWORD dwTimeout) { CSmartPointer spAsyncWait; ErrorCodeEnum Error = GetPickupInVolume(Req, spAsyncWait, dwTimeout); if (Error == Error_Succeed) { bool bEnd = false; Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwTimeout); LOG_ASSERT(Error || bEnd); } return Error; } ErrorCodeEnum GetPickupInVolume(PhoneService_GetPickupInVolume_Req &Req, PhoneService_GetPickupInVolume_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError, CSimpleString &str) { CSmartPointer spAsyncWait; ErrorCodeEnum Error = GetPickupInVolume(Req, spAsyncWait, dwTimeout); if (Error == Error_Succeed) { bool bEnd = false; Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwUserError, str, dwTimeout); LOG_ASSERT(Error || bEnd); } return Error; } ErrorCodeEnum GetPickupInVolume(PhoneService_GetPickupInVolume_Req &Req, PhoneService_GetPickupInVolume_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError) { CSmartPointer spAsyncWait; ErrorCodeEnum Error = GetPickupInVolume(Req, spAsyncWait, dwTimeout); if (Error == Error_Succeed) { bool bEnd = false; CSimpleString str; Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwUserError, str, dwTimeout); LOG_ASSERT(Error || bEnd); } return Error; } ErrorCodeEnum GetAudioDevices(PhoneService_GetAudioDevices_Req &Req, CSmartPointer &spAsyncWait, DWORD dwTimeout) { CSmartPointer pFunc = GetFunction(); CAutoBuffer Buf = SpObject2Buffer(Req); if (m_context.checkEmpty()) { m_context.AutoGenerate(); DbgToBeidou(m_context, m_pEntityBase != NULL ? m_pEntityBase->GetEntityName() : "")(); m_context = m_context.upgradeLink(); } auto ret = pFunc->AsyncRequest(PhoneService_Method_GetAudioDevices, PhoneService_MethodSignature_GetAudioDevices, Buf, spAsyncWait, m_context, dwTimeout); m_context.clear(); return ret; } ErrorCodeEnum GetAudioDevices(PhoneService_GetAudioDevices_Req &Req, PhoneService_GetAudioDevices_Ans &Ans, DWORD dwTimeout) { CSmartPointer spAsyncWait; ErrorCodeEnum Error = GetAudioDevices(Req, spAsyncWait, dwTimeout); if (Error == Error_Succeed) { bool bEnd = false; Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwTimeout); LOG_ASSERT(Error || bEnd); } return Error; } ErrorCodeEnum GetAudioDevices(PhoneService_GetAudioDevices_Req &Req, PhoneService_GetAudioDevices_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError, CSimpleString &str) { CSmartPointer spAsyncWait; ErrorCodeEnum Error = GetAudioDevices(Req, spAsyncWait, dwTimeout); if (Error == Error_Succeed) { bool bEnd = false; Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwUserError, str, dwTimeout); LOG_ASSERT(Error || bEnd); } return Error; } ErrorCodeEnum GetAudioDevices(PhoneService_GetAudioDevices_Req &Req, PhoneService_GetAudioDevices_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError) { CSmartPointer spAsyncWait; ErrorCodeEnum Error = GetAudioDevices(Req, spAsyncWait, dwTimeout); if (Error == Error_Succeed) { bool bEnd = false; CSimpleString str; Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwUserError, str, dwTimeout); LOG_ASSERT(Error || bEnd); } return Error; } bool SafeDelete() { if (!m_bSysManaged) { delete this; } return m_bSysManaged; } private: virtual void OnAnswer(CSmartPointer pAsynWaitSp) { CAutoBuffer Buf; bool bEnd; CSmartPointer pData; ErrorCodeEnum Error = pAsynWaitSp->AsyncGetAnswer(Buf, bEnd); DWORD dwMessageId = pAsynWaitSp->GetMessageID(); CSmartPointer pCallbackListener; pAsynWaitSp->GetCallback(pCallbackListener, pData); switch (dwMessageId) { case PhoneService_Method_BeginState: if (Error) { PhoneService_PhoneState_Info Msg; OnMessage(Error, Msg, pData); } else { PhoneService_PhoneState_Info Msg; SpBuffer2Object(Buf, Msg); OnMessage(Error, Msg, pData); } break; default: assert(0); break; } } protected: bool m_bSysManaged; CEntityBase *m_pEntityBase; linkContext m_context; bool bSessionClosed; }; /////////////////////////// } // namespace SIPPhone #endif // __SIPPHONE_CLIENT_G_H