SIPPhone_client_g.h 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401
  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. explicit PhoneService_ClientBase(CEntityBase *pEntity) : m_pEntityBase(pEntity), m_bSysManaged(false) {}
  10. PhoneService_ClientBase* operator () (const linkContext &curLink)
  11. {
  12. m_context = curLink;
  13. return this;
  14. }
  15. protected:
  16. virtual ~PhoneService_ClientBase()
  17. {
  18. /// override by user
  19. }
  20. public:
  21. void OnConnectSucceed()
  22. {
  23. bSessionClosed = false;
  24. }
  25. void OnClose(ErrorCodeEnum)
  26. {
  27. Dbg("session closed.");
  28. bSessionClosed = true;
  29. }
  30. bool QuerySessionClosed()
  31. {
  32. return bSessionClosed;
  33. }
  34. ErrorCodeEnum Connect(CSmartPointer<IAsynWaitSp> &spAsyncWait)
  35. {
  36. CSmartPointer<IEntityFunction> pFunc = m_pEntityBase->GetFunction();
  37. ErrorCodeEnum Error = pFunc->ConnectRemoteEntity(this, "SIPPhone", "PhoneService", spAsyncWait);
  38. if (Error == Error_Succeed) {
  39. m_bSysManaged = true;
  40. bSessionClosed = false;
  41. }
  42. return Error;
  43. }
  44. ErrorCodeEnum Connect()
  45. {
  46. CSmartPointer<IAsynWaitSp> spAsyncWait;
  47. ErrorCodeEnum Error = Connect(spAsyncWait);
  48. if (Error == Error_Succeed) {
  49. Error = spAsyncWait->WaitAnswer();
  50. }
  51. return Error;
  52. }
  53. ErrorCodeEnum MakeCall(PhoneService_MakeCall_Req &Req, CSmartPointer<IAsynWaitSp> &spAsyncWait, DWORD dwTimeout)
  54. {
  55. CSmartPointer<IClientSessionFunction> pFunc = GetFunction();
  56. CAutoBuffer Buf = SpObject2Buffer(Req);
  57. auto ret = pFunc->AsyncRequest(PhoneService_Method_MakeCall, PhoneService_MethodSignature_MakeCall, Buf, spAsyncWait, m_context, dwTimeout);
  58. m_context.clear();
  59. return ret;
  60. }
  61. ErrorCodeEnum MakeCall(PhoneService_MakeCall_Req &Req, PhoneService_MakeCall_Ans &Ans, DWORD dwTimeout)
  62. {
  63. CSmartPointer<IAsynWaitSp> spAsyncWait;
  64. ErrorCodeEnum Error = MakeCall(Req, spAsyncWait, dwTimeout);
  65. if (Error == Error_Succeed) {
  66. bool bEnd = false;
  67. Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwTimeout);
  68. LOG_ASSERT(Error || bEnd);
  69. }
  70. return Error;
  71. }
  72. ErrorCodeEnum MakeCall(PhoneService_MakeCall_Req &Req, PhoneService_MakeCall_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError)
  73. {
  74. CSmartPointer<IAsynWaitSp> spAsyncWait;
  75. ErrorCodeEnum Error = MakeCall(Req, spAsyncWait, dwTimeout);
  76. if (Error == Error_Succeed) {
  77. bool bEnd = false;
  78. Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwUserError, dwTimeout);
  79. LOG_ASSERT(Error || bEnd);
  80. }
  81. return Error;
  82. }
  83. ErrorCodeEnum HangupCall(PhoneService_HangupCall_Req &Req, CSmartPointer<IAsynWaitSp> &spAsyncWait, DWORD dwTimeout)
  84. {
  85. CSmartPointer<IClientSessionFunction> pFunc = GetFunction();
  86. CAutoBuffer Buf = SpObject2Buffer(Req);
  87. auto ret = pFunc->AsyncRequest(PhoneService_Method_HangupCall, PhoneService_MethodSignature_HangupCall, Buf, spAsyncWait, m_context, dwTimeout);
  88. m_context.clear();
  89. return ret;
  90. }
  91. ErrorCodeEnum HangupCall(PhoneService_HangupCall_Req &Req, PhoneService_HangupCall_Ans &Ans, DWORD dwTimeout)
  92. {
  93. CSmartPointer<IAsynWaitSp> spAsyncWait;
  94. ErrorCodeEnum Error = HangupCall(Req, spAsyncWait, dwTimeout);
  95. if (Error == Error_Succeed) {
  96. bool bEnd = false;
  97. Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwTimeout);
  98. LOG_ASSERT(Error || bEnd);
  99. }
  100. return Error;
  101. }
  102. ErrorCodeEnum HangupCall(PhoneService_HangupCall_Req &Req, PhoneService_HangupCall_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError)
  103. {
  104. CSmartPointer<IAsynWaitSp> spAsyncWait;
  105. ErrorCodeEnum Error = HangupCall(Req, spAsyncWait, dwTimeout);
  106. if (Error == Error_Succeed) {
  107. bool bEnd = false;
  108. Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwUserError, dwTimeout);
  109. LOG_ASSERT(Error || bEnd);
  110. }
  111. return Error;
  112. }
  113. ErrorCodeEnum StartVideo(PhoneService_StartVideo_Info &Info)
  114. {
  115. CSmartPointer<IClientSessionFunction> pFunc = GetFunction();
  116. CAutoBuffer Buf = SpObject2Buffer(Info);
  117. auto ret = pFunc->OnewayCall(PhoneService_Method_StartVideo, PhoneService_MethodSignature_StartVideo, Buf, m_context);
  118. m_context.clear();
  119. return ret;
  120. }
  121. ErrorCodeEnum StopVideo()
  122. {
  123. CSmartPointer<IClientSessionFunction> pFunc = GetFunction();
  124. return pFunc->OnewayCall(PhoneService_Method_StopVideo, PhoneService_MethodSignature_StopVideo, m_context);
  125. }
  126. ErrorCodeEnum RealErrorCheck()
  127. {
  128. CSmartPointer<IClientSessionFunction> pFunc = GetFunction();
  129. return pFunc->OnewayCall(PhoneService_Method_RealErrorCheck, PhoneService_MethodSignature_RealErrorCheck, m_context);
  130. }
  131. ErrorCodeEnum ReleaseCall(PhoneService_ReleaseCall_Req &Req, CSmartPointer<IAsynWaitSp> &spAsyncWait, DWORD dwTimeout)
  132. {
  133. CSmartPointer<IClientSessionFunction> pFunc = GetFunction();
  134. CAutoBuffer Buf = SpObject2Buffer(Req);
  135. auto ret = pFunc->AsyncRequest(PhoneService_Method_ReleaseCall, PhoneService_MethodSignature_ReleaseCall, Buf, spAsyncWait, m_context, dwTimeout);
  136. m_context.clear();
  137. return ret;
  138. }
  139. ErrorCodeEnum ReleaseCall(PhoneService_ReleaseCall_Req &Req, PhoneService_ReleaseCall_Ans &Ans, DWORD dwTimeout)
  140. {
  141. CSmartPointer<IAsynWaitSp> spAsyncWait;
  142. ErrorCodeEnum Error = ReleaseCall(Req, spAsyncWait, dwTimeout);
  143. if (Error == Error_Succeed) {
  144. bool bEnd = false;
  145. Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwTimeout);
  146. LOG_ASSERT(Error || bEnd);
  147. }
  148. return Error;
  149. }
  150. ErrorCodeEnum ReleaseCall(PhoneService_ReleaseCall_Req &Req, PhoneService_ReleaseCall_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError)
  151. {
  152. CSmartPointer<IAsynWaitSp> spAsyncWait;
  153. ErrorCodeEnum Error = ReleaseCall(Req, spAsyncWait, dwTimeout);
  154. if (Error == Error_Succeed) {
  155. bool bEnd = false;
  156. Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwUserError, dwTimeout);
  157. LOG_ASSERT(Error || bEnd);
  158. }
  159. return Error;
  160. }
  161. ErrorCodeEnum BeginState(PhoneService_BeginState_Sub &Req, CSmartPointer<IAsynWaitSp> &spAsyncWait)
  162. {
  163. CSmartPointer<IClientSessionFunction> pFunc = GetFunction();
  164. CAutoBuffer Buf = SpObject2Buffer(Req);
  165. ErrorCodeEnum Error = pFunc->AsyncRequest(PhoneService_Method_BeginState, PhoneService_MethodSignature_BeginState, Buf, spAsyncWait, -1);
  166. return Error;
  167. }
  168. ErrorCodeEnum BeginState(PhoneService_BeginState_Sub &Req, ICallbackListener *pCallback,IReleasable *pData = NULL)
  169. {
  170. CSmartPointer<IAsynWaitSp> spAsyncWait;
  171. ErrorCodeEnum Error = BeginState(Req, spAsyncWait);
  172. if (Error == Error_Succeed) {
  173. spAsyncWait->SetCallback(pCallback, pData);
  174. }
  175. return Error;
  176. }
  177. ErrorCodeEnum BeginState(PhoneService_BeginState_Sub &Req, IReleasable *pData = NULL)
  178. {
  179. return BeginState(Req, this, pData);
  180. }
  181. ErrorCodeEnum EndState(PhoneService_EndState_Info &CancelInfo)
  182. {
  183. CSmartPointer<IClientSessionFunction> pFunc = GetFunction();
  184. return pFunc->OnewayCall(PhoneService_Method_EndState, PhoneService_MethodSignature_EndState);
  185. }
  186. virtual void OnMessage(ErrorCodeEnum Error, PhoneService_PhoneState_Info &Msg, CSmartPointer<IReleasable> pData)
  187. {
  188. /// implement by user
  189. }
  190. ErrorCodeEnum SetCallingParam(PhoneService_SetCallingParam_Info &Info)
  191. {
  192. CSmartPointer<IClientSessionFunction> pFunc = GetFunction();
  193. CAutoBuffer Buf = SpObject2Buffer(Info);
  194. auto ret = pFunc->OnewayCall(PhoneService_Method_SetCallingParam, PhoneService_MethodSignature_SetCallingParam, Buf, m_context);
  195. m_context.clear();
  196. return ret;
  197. }
  198. ErrorCodeEnum GetHandfreeOutVolume(PhoneService_GetHandfreeOutVolume_Req &Req, CSmartPointer<IAsynWaitSp> &spAsyncWait, DWORD dwTimeout)
  199. {
  200. CSmartPointer<IClientSessionFunction> pFunc = GetFunction();
  201. CAutoBuffer Buf = SpObject2Buffer(Req);
  202. auto ret = pFunc->AsyncRequest(PhoneService_Method_GetHandfreeOutVolume, PhoneService_MethodSignature_GetHandfreeOutVolume, Buf, spAsyncWait, m_context, dwTimeout);
  203. m_context.clear();
  204. return ret;
  205. }
  206. ErrorCodeEnum GetHandfreeOutVolume(PhoneService_GetHandfreeOutVolume_Req &Req, PhoneService_GetHandfreeOutVolume_Ans &Ans, DWORD dwTimeout)
  207. {
  208. CSmartPointer<IAsynWaitSp> spAsyncWait;
  209. ErrorCodeEnum Error = GetHandfreeOutVolume(Req, spAsyncWait, dwTimeout);
  210. if (Error == Error_Succeed) {
  211. bool bEnd = false;
  212. Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwTimeout);
  213. LOG_ASSERT(Error || bEnd);
  214. }
  215. return Error;
  216. }
  217. ErrorCodeEnum GetHandfreeOutVolume(PhoneService_GetHandfreeOutVolume_Req &Req, PhoneService_GetHandfreeOutVolume_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError)
  218. {
  219. CSmartPointer<IAsynWaitSp> spAsyncWait;
  220. ErrorCodeEnum Error = GetHandfreeOutVolume(Req, spAsyncWait, dwTimeout);
  221. if (Error == Error_Succeed) {
  222. bool bEnd = false;
  223. Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwUserError, dwTimeout);
  224. LOG_ASSERT(Error || bEnd);
  225. }
  226. return Error;
  227. }
  228. ErrorCodeEnum SetHandfreeOutVolume(PhoneService_SetHandfreeOutVolume_Req &Req, CSmartPointer<IAsynWaitSp> &spAsyncWait, DWORD dwTimeout)
  229. {
  230. CSmartPointer<IClientSessionFunction> pFunc = GetFunction();
  231. CAutoBuffer Buf = SpObject2Buffer(Req);
  232. auto ret = pFunc->AsyncRequest(PhoneService_Method_SetHandfreeOutVolume, PhoneService_MethodSignature_SetHandfreeOutVolume, Buf, spAsyncWait, m_context, dwTimeout);
  233. m_context.clear();
  234. return ret;
  235. }
  236. ErrorCodeEnum SetHandfreeOutVolume(PhoneService_SetHandfreeOutVolume_Req &Req, PhoneService_SetHandfreeOutVolume_Ans &Ans, DWORD dwTimeout)
  237. {
  238. CSmartPointer<IAsynWaitSp> spAsyncWait;
  239. ErrorCodeEnum Error = SetHandfreeOutVolume(Req, spAsyncWait, dwTimeout);
  240. if (Error == Error_Succeed) {
  241. bool bEnd = false;
  242. Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwTimeout);
  243. LOG_ASSERT(Error || bEnd);
  244. }
  245. return Error;
  246. }
  247. ErrorCodeEnum SetHandfreeOutVolume(PhoneService_SetHandfreeOutVolume_Req &Req, PhoneService_SetHandfreeOutVolume_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError)
  248. {
  249. CSmartPointer<IAsynWaitSp> spAsyncWait;
  250. ErrorCodeEnum Error = SetHandfreeOutVolume(Req, spAsyncWait, dwTimeout);
  251. if (Error == Error_Succeed) {
  252. bool bEnd = false;
  253. Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwUserError, dwTimeout);
  254. LOG_ASSERT(Error || bEnd);
  255. }
  256. return Error;
  257. }
  258. ErrorCodeEnum SetPickupOutVolume(PhoneService_SetPickupOutVolume_Req &Req, CSmartPointer<IAsynWaitSp> &spAsyncWait, DWORD dwTimeout)
  259. {
  260. CSmartPointer<IClientSessionFunction> pFunc = GetFunction();
  261. CAutoBuffer Buf = SpObject2Buffer(Req);
  262. auto ret = pFunc->AsyncRequest(PhoneService_Method_SetPickupOutVolume, PhoneService_MethodSignature_SetPickupOutVolume, Buf, spAsyncWait, m_context, dwTimeout);
  263. m_context.clear();
  264. return ret;
  265. }
  266. ErrorCodeEnum SetPickupOutVolume(PhoneService_SetPickupOutVolume_Req &Req, PhoneService_SetPickupOutVolume_Ans &Ans, DWORD dwTimeout)
  267. {
  268. CSmartPointer<IAsynWaitSp> spAsyncWait;
  269. ErrorCodeEnum Error = SetPickupOutVolume(Req, spAsyncWait, dwTimeout);
  270. if (Error == Error_Succeed) {
  271. bool bEnd = false;
  272. Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwTimeout);
  273. LOG_ASSERT(Error || bEnd);
  274. }
  275. return Error;
  276. }
  277. ErrorCodeEnum SetPickupOutVolume(PhoneService_SetPickupOutVolume_Req &Req, PhoneService_SetPickupOutVolume_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError)
  278. {
  279. CSmartPointer<IAsynWaitSp> spAsyncWait;
  280. ErrorCodeEnum Error = SetPickupOutVolume(Req, spAsyncWait, dwTimeout);
  281. if (Error == Error_Succeed) {
  282. bool bEnd = false;
  283. Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwUserError, dwTimeout);
  284. LOG_ASSERT(Error || bEnd);
  285. }
  286. return Error;
  287. }
  288. ErrorCodeEnum GetPickupOutVolume(PhoneService_GetPickupOutVolume_Req &Req, CSmartPointer<IAsynWaitSp> &spAsyncWait, DWORD dwTimeout)
  289. {
  290. CSmartPointer<IClientSessionFunction> pFunc = GetFunction();
  291. CAutoBuffer Buf = SpObject2Buffer(Req);
  292. auto ret = pFunc->AsyncRequest(PhoneService_Method_GetPickupOutVolume, PhoneService_MethodSignature_GetPickupOutVolume, Buf, spAsyncWait, m_context, dwTimeout);
  293. m_context.clear();
  294. return ret;
  295. }
  296. ErrorCodeEnum GetPickupOutVolume(PhoneService_GetPickupOutVolume_Req &Req, PhoneService_GetPickupOutVolume_Ans &Ans, DWORD dwTimeout)
  297. {
  298. CSmartPointer<IAsynWaitSp> spAsyncWait;
  299. ErrorCodeEnum Error = GetPickupOutVolume(Req, spAsyncWait, dwTimeout);
  300. if (Error == Error_Succeed) {
  301. bool bEnd = false;
  302. Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwTimeout);
  303. LOG_ASSERT(Error || bEnd);
  304. }
  305. return Error;
  306. }
  307. ErrorCodeEnum GetPickupOutVolume(PhoneService_GetPickupOutVolume_Req &Req, PhoneService_GetPickupOutVolume_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError)
  308. {
  309. CSmartPointer<IAsynWaitSp> spAsyncWait;
  310. ErrorCodeEnum Error = GetPickupOutVolume(Req, spAsyncWait, dwTimeout);
  311. if (Error == Error_Succeed) {
  312. bool bEnd = false;
  313. Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwUserError, dwTimeout);
  314. LOG_ASSERT(Error || bEnd);
  315. }
  316. return Error;
  317. }
  318. ErrorCodeEnum StartVideoRender(PhoneService_StartVideoRender_Info &Info)
  319. {
  320. CSmartPointer<IClientSessionFunction> pFunc = GetFunction();
  321. CAutoBuffer Buf = SpObject2Buffer(Info);
  322. return pFunc->OnewayCall(PhoneService_Method_StartVideoRender, PhoneService_MethodSignature_StartVideoRender, Buf);
  323. }
  324. ErrorCodeEnum StopVideoRender()
  325. {
  326. CSmartPointer<IClientSessionFunction> pFunc = GetFunction();
  327. return pFunc->OnewayCall(PhoneService_Method_StopVideoRender, PhoneService_MethodSignature_StopVideoRender);
  328. }
  329. bool SafeDelete()
  330. {
  331. if (!m_bSysManaged) {
  332. delete this;
  333. }
  334. return m_bSysManaged;
  335. }
  336. private:
  337. virtual void OnAnswer(CSmartPointer<IAsynWaitSp> pAsynWaitSp)
  338. {
  339. CAutoBuffer Buf;
  340. bool bEnd;
  341. CSmartPointer<IReleasable> pData;
  342. ErrorCodeEnum Error = pAsynWaitSp->AsyncGetAnswer(Buf, bEnd);
  343. DWORD dwMessageId = pAsynWaitSp->GetMessageID();
  344. CSmartPointer<ICallbackListener> pCallbackListener;
  345. pAsynWaitSp->GetCallback(pCallbackListener, pData);
  346. switch (dwMessageId) {
  347. case PhoneService_Method_BeginState:
  348. if (Error) {
  349. PhoneService_PhoneState_Info Msg;
  350. OnMessage(Error, Msg, pData);
  351. } else {
  352. PhoneService_PhoneState_Info Msg;
  353. SpBuffer2Object(Buf, Msg);
  354. OnMessage(Error, Msg, pData);
  355. }
  356. break;
  357. default:
  358. assert(0);
  359. break;
  360. }
  361. }
  362. protected:
  363. bool m_bSysManaged;
  364. CEntityBase *m_pEntityBase;
  365. linkContext m_context;
  366. bool bSessionClosed;
  367. };
  368. ///////////////////////////
  369. } // namespace SIPPhone
  370. #endif // __SIPPHONE_CLIENT_G_H