SIPPhone_client_g.h 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229
  1. #ifndef __SIPPHONE_CLIENT_G_H
  2. #define __SIPPHONE_CLIENT_G_H
  3. #pragma once
  4. // This code is generated by spgen tool!
  5. #include "SIPPhone_def_g.h"
  6. namespace SIPPhone {
  7. class PhoneService_ClientBase : public CClientSessionBase, public ICallbackListener {
  8. public:
  9. PhoneService_ClientBase(CEntityBase *pEntity) : m_pEntityBase(pEntity), m_bSysManaged(false) {}
  10. protected:
  11. virtual ~PhoneService_ClientBase() {}
  12. public:
  13. ErrorCodeEnum Connect(CSmartPointer<IAsynWaitSp> &spAsyncWait)
  14. {
  15. CSmartPointer<IEntityFunction> pFunc = m_pEntityBase->GetFunction();
  16. ErrorCodeEnum Error = pFunc->ConnectRemoteEntity(this, "SIPPhone", "PhoneService", spAsyncWait);
  17. if (Error == Error_Succeed) {
  18. m_bSysManaged = true;
  19. }
  20. return Error;
  21. }
  22. ErrorCodeEnum Connect()
  23. {
  24. CSmartPointer<IAsynWaitSp> spAsyncWait;
  25. ErrorCodeEnum Error = Connect(spAsyncWait);
  26. if (Error == Error_Succeed) {
  27. Error = spAsyncWait->WaitAnswer();
  28. }
  29. return Error;
  30. }
  31. ErrorCodeEnum MakeCall(PhoneService_MakeCall_Req &Req, CSmartPointer<IAsynWaitSp> &spAsyncWait, DWORD dwTimeout)
  32. {
  33. CSmartPointer<IClientSessionFunction> pFunc = GetFunction();
  34. CAutoBuffer Buf = SpObject2Buffer(Req);
  35. return pFunc->AsyncRequest(PhoneService_Method_MakeCall, PhoneService_MethodSignature_MakeCall, Buf, spAsyncWait, dwTimeout);
  36. }
  37. ErrorCodeEnum MakeCall(PhoneService_MakeCall_Req &Req, PhoneService_MakeCall_Ans &Ans, DWORD dwTimeout)
  38. {
  39. CSmartPointer<IAsynWaitSp> spAsyncWait;
  40. ErrorCodeEnum Error = MakeCall(Req, spAsyncWait, dwTimeout);
  41. if (Error == Error_Succeed) {
  42. bool bEnd = false;
  43. Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwTimeout);
  44. LOG_ASSERT(Error || bEnd);
  45. }
  46. return Error;
  47. }
  48. ErrorCodeEnum MakeCall(PhoneService_MakeCall_Req &Req, PhoneService_MakeCall_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError)
  49. {
  50. CSmartPointer<IAsynWaitSp> spAsyncWait;
  51. ErrorCodeEnum Error = MakeCall(Req, spAsyncWait, dwTimeout);
  52. if (Error == Error_Succeed) {
  53. bool bEnd = false;
  54. Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwUserError, dwTimeout);
  55. LOG_ASSERT(Error || bEnd);
  56. }
  57. return Error;
  58. }
  59. ErrorCodeEnum HangupCall(PhoneService_HangupCall_Req &Req, CSmartPointer<IAsynWaitSp> &spAsyncWait, DWORD dwTimeout)
  60. {
  61. CSmartPointer<IClientSessionFunction> pFunc = GetFunction();
  62. CAutoBuffer Buf = SpObject2Buffer(Req);
  63. return pFunc->AsyncRequest(PhoneService_Method_HangupCall, PhoneService_MethodSignature_HangupCall, Buf, spAsyncWait, dwTimeout);
  64. }
  65. ErrorCodeEnum HangupCall(PhoneService_HangupCall_Req &Req, PhoneService_HangupCall_Ans &Ans, DWORD dwTimeout)
  66. {
  67. CSmartPointer<IAsynWaitSp> spAsyncWait;
  68. ErrorCodeEnum Error = HangupCall(Req, spAsyncWait, dwTimeout);
  69. if (Error == Error_Succeed) {
  70. bool bEnd = false;
  71. Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwTimeout);
  72. LOG_ASSERT(Error || bEnd);
  73. }
  74. return Error;
  75. }
  76. ErrorCodeEnum HangupCall(PhoneService_HangupCall_Req &Req, PhoneService_HangupCall_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError)
  77. {
  78. CSmartPointer<IAsynWaitSp> spAsyncWait;
  79. ErrorCodeEnum Error = HangupCall(Req, spAsyncWait, dwTimeout);
  80. if (Error == Error_Succeed) {
  81. bool bEnd = false;
  82. Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwUserError, dwTimeout);
  83. LOG_ASSERT(Error || bEnd);
  84. }
  85. return Error;
  86. }
  87. ErrorCodeEnum StartVideo(PhoneService_StartVideo_Info &Info)
  88. {
  89. CSmartPointer<IClientSessionFunction> pFunc = GetFunction();
  90. CAutoBuffer Buf = SpObject2Buffer(Info);
  91. return pFunc->OnewayCall(PhoneService_Method_StartVideo, PhoneService_MethodSignature_StartVideo, Buf);
  92. }
  93. ErrorCodeEnum StopVideo()
  94. {
  95. CSmartPointer<IClientSessionFunction> pFunc = GetFunction();
  96. return pFunc->OnewayCall(PhoneService_Method_StopVideo, PhoneService_MethodSignature_StopVideo);
  97. }
  98. ErrorCodeEnum RealErrorCheck()
  99. {
  100. CSmartPointer<IClientSessionFunction> pFunc = GetFunction();
  101. return pFunc->OnewayCall(PhoneService_Method_RealErrorCheck, PhoneService_MethodSignature_RealErrorCheck);
  102. }
  103. ErrorCodeEnum ReleaseCall(PhoneService_ReleaseCall_Req &Req, CSmartPointer<IAsynWaitSp> &spAsyncWait, DWORD dwTimeout)
  104. {
  105. CSmartPointer<IClientSessionFunction> pFunc = GetFunction();
  106. CAutoBuffer Buf = SpObject2Buffer(Req);
  107. return pFunc->AsyncRequest(PhoneService_Method_ReleaseCall, PhoneService_MethodSignature_ReleaseCall, Buf, spAsyncWait, dwTimeout);
  108. }
  109. ErrorCodeEnum ReleaseCall(PhoneService_ReleaseCall_Req &Req, PhoneService_ReleaseCall_Ans &Ans, DWORD dwTimeout)
  110. {
  111. CSmartPointer<IAsynWaitSp> spAsyncWait;
  112. ErrorCodeEnum Error = ReleaseCall(Req, spAsyncWait, dwTimeout);
  113. if (Error == Error_Succeed) {
  114. bool bEnd = false;
  115. Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwTimeout);
  116. LOG_ASSERT(Error || bEnd);
  117. }
  118. return Error;
  119. }
  120. ErrorCodeEnum ReleaseCall(PhoneService_ReleaseCall_Req &Req, PhoneService_ReleaseCall_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError)
  121. {
  122. CSmartPointer<IAsynWaitSp> spAsyncWait;
  123. ErrorCodeEnum Error = ReleaseCall(Req, spAsyncWait, dwTimeout);
  124. if (Error == Error_Succeed) {
  125. bool bEnd = false;
  126. Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwUserError, dwTimeout);
  127. LOG_ASSERT(Error || bEnd);
  128. }
  129. return Error;
  130. }
  131. ErrorCodeEnum BeginState(PhoneService_BeginState_Sub &Req, CSmartPointer<IAsynWaitSp> &spAsyncWait)
  132. {
  133. CSmartPointer<IClientSessionFunction> pFunc = GetFunction();
  134. CAutoBuffer Buf = SpObject2Buffer(Req);
  135. ErrorCodeEnum Error = pFunc->AsyncRequest(PhoneService_Method_BeginState, PhoneService_MethodSignature_BeginState, Buf, spAsyncWait, -1);
  136. return Error;
  137. }
  138. ErrorCodeEnum BeginState(PhoneService_BeginState_Sub &Req, ICallbackListener *pCallback,IReleasable *pData = NULL)
  139. {
  140. CSmartPointer<IAsynWaitSp> spAsyncWait;
  141. ErrorCodeEnum Error = BeginState(Req, spAsyncWait);
  142. if (Error == Error_Succeed) {
  143. spAsyncWait->SetCallback(pCallback, pData);
  144. }
  145. return Error;
  146. }
  147. ErrorCodeEnum BeginState(PhoneService_BeginState_Sub &Req, IReleasable *pData = NULL)
  148. {
  149. return BeginState(Req, this, pData);
  150. }
  151. ErrorCodeEnum EndState(PhoneService_EndState_Info &CancelInfo)
  152. {
  153. CSmartPointer<IClientSessionFunction> pFunc = GetFunction();
  154. return pFunc->OnewayCall(PhoneService_Method_EndState, PhoneService_MethodSignature_EndState);
  155. }
  156. virtual void OnMessage(ErrorCodeEnum Error, PhoneService_PhoneState_Info &Msg, CSmartPointer<IReleasable> pData)
  157. {
  158. /// implement by user
  159. }
  160. ErrorCodeEnum SetCallingParam(PhoneService_SetCallingParam_Info &Info)
  161. {
  162. CSmartPointer<IClientSessionFunction> pFunc = GetFunction();
  163. CAutoBuffer Buf = SpObject2Buffer(Info);
  164. return pFunc->OnewayCall(PhoneService_Method_SetCallingParam, PhoneService_MethodSignature_SetCallingParam, Buf);
  165. }
  166. bool SafeDelete()
  167. {
  168. if (!m_bSysManaged) {
  169. delete this;
  170. }
  171. return m_bSysManaged;
  172. }
  173. private:
  174. virtual void OnAnswer(CSmartPointer<IAsynWaitSp> pAsynWaitSp)
  175. {
  176. CAutoBuffer Buf;
  177. bool bEnd;
  178. CSmartPointer<IReleasable> pData;
  179. ErrorCodeEnum Error = pAsynWaitSp->AsyncGetAnswer(Buf, bEnd);
  180. DWORD dwMessageId = pAsynWaitSp->GetMessageID();
  181. CSmartPointer<ICallbackListener> pCallbackListener;
  182. pAsynWaitSp->GetCallback(pCallbackListener, pData);
  183. switch (dwMessageId) {
  184. case PhoneService_Method_BeginState:
  185. if (Error) {
  186. PhoneService_PhoneState_Info Msg;
  187. OnMessage(Error, Msg, pData);
  188. } else {
  189. PhoneService_PhoneState_Info Msg;
  190. SpBuffer2Object(Buf, Msg);
  191. OnMessage(Error, Msg, pData);
  192. }
  193. break;
  194. default:
  195. assert(0);
  196. break;
  197. }
  198. }
  199. protected:
  200. bool m_bSysManaged;
  201. CEntityBase *m_pEntityBase;
  202. };
  203. ///////////////////////////
  204. } // namespace SIPPhone
  205. #endif // __SIPPHONE_CLIENT_G_H