mod_interactivecontrol.h 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499
  1. #pragma once
  2. #include "SpIni.h"
  3. #include "EventCode.h"
  4. #include "Event.h"
  5. #include "InteractiveControl_msg_g.h"
  6. #include "InteractiveControl_server_g.h"
  7. using namespace InteractiveControl;
  8. #include "../mod_localmediaplay/LocalMediaPlay_msg_g.h"
  9. #include "../mod_localmediaplay/LocalMediaPlay_client_g.h"
  10. using namespace LocalMediaPlay;
  11. #include "../mod_assistantchannel/AssistantChannel_client_g.h"
  12. #include "../mod_assistantchannel/chan_protocol.h"
  13. using namespace AssistantChannel;
  14. #include "../mod_SalesRecorder/SalesRecorder_client_g.h"
  15. #include "../mod_SalesRecorder/SalesRecorder_def_g.h"
  16. using namespace SalesRecorder;
  17. #include "../mod_sipphone/SIPPhone_client_g.h"
  18. using namespace SIPPhone;
  19. #include "../mod_mediacontroller/MediaController_client_g.h"
  20. #include "../mod_mediacontroller/MediaController_msg_g.h"
  21. using namespace MediaController;
  22. #include "../mod_recorder/Recorder_client_g.h"
  23. using namespace Recorder;
  24. #include "../mod_counterconnector/CounterConnector_client_g.h"
  25. using namespace CounterConnector;
  26. class CITCtrlEntity;
  27. class ChannelClient : public ChannelService_ClientBase
  28. {
  29. public:
  30. ChannelClient(CITCtrlEntity *pEntity);
  31. virtual void OnMessage(ErrorCodeEnum Error, ChannelService_Packet_Info &Msg, CSmartPointer<IReleasable> pData);
  32. virtual void OnMessage(ErrorCodeEnum Error, ChannelService_State_Info &Msg, CSmartPointer<IReleasable> pData);
  33. };
  34. class LocalPlayClient : public PlayService_ClientBase
  35. {
  36. public:
  37. LocalPlayClient(CITCtrlEntity *pEntity);
  38. };
  39. class SalesRecordClient : public SalesRecorderSerVice_ClientBase
  40. {
  41. public:
  42. SalesRecordClient(CITCtrlEntity* pEntity);
  43. };
  44. class SipPhoneClient : public PhoneService_ClientBase
  45. {
  46. public:
  47. SipPhoneClient(CITCtrlEntity* pEntity);
  48. };
  49. class MediaControlClient : public MediaService_ClientBase
  50. {
  51. public:
  52. MediaControlClient(CITCtrlEntity* pEntity);
  53. };
  54. class RecordClient : public RecorderSerVice_ClientBase
  55. {
  56. public:
  57. RecordClient(CITCtrlEntity* pEntity);
  58. };
  59. class ConnectClient : public ConnectService_ClientBase
  60. {
  61. public:
  62. ConnectClient(CITCtrlEntity* pEntity);
  63. };
  64. class CITCtrlEntity : public CEntityBase, public ISysVarListener, public ILogListener, public IBroadcastListener, public ITimerListener
  65. {
  66. public:
  67. CITCtrlEntity() : m_pChannelClient(NULL), m_pPlayClient(NULL), m_pSalesRecordClient(NULL), m_pSipPhoneClient(NULL), m_pMediaCtlClient(NULL),
  68. m_pRecordClient(NULL), m_bConnected(false), m_bSalesRecording(false),m_bNoticePlaying(false), m_bConnectAssist(false){
  69. m_bAdvOnFlag = true;
  70. m_iRecordMode = 1;
  71. m_bRecording = false;
  72. m_pConnectClient = NULL;
  73. m_iRemoteRecordType = 0;
  74. }
  75. virtual ~CITCtrlEntity() {}
  76. virtual const char *GetEntityName() const { return "InteractiveControl"; }
  77. virtual bool IsService()const{return true;}
  78. void OnAudioPlayRet(const char *pszEntityName, DWORD dwMessageId, DWORD dwMessageSignature, LocalMediaPlay::AudioPlayRet &evt);
  79. void OnEnvCameraCapInfo(const char* pszEntityName, DWORD dwMessageId, DWORD dwMessageSignature, MediaController::EnvCameraCapInfo& evt);
  80. virtual CServerSessionBase *OnNewSession(const char* /*pszRemoteEntityName*/, const char * /*pszParam*/);
  81. virtual void OnPreStart(CAutoArray<CSimpleStringA> strArgs,CSmartPointer<ITransactionContext> pTransactionContext);
  82. virtual void OnPreClose(EntityCloseCauseEnum eCloseCause,CSmartPointer<ITransactionContext> pTransactionContext);
  83. virtual void OnStarted();
  84. DeviceTypeEnum RvcGetDeviceType();
  85. ErrorCodeEnum __OnStart(ErrorCodeEnum preOperationError);
  86. ErrorCodeEnum __OnClose(ErrorCodeEnum preOperationError);
  87. void BcastCustomerState(const char *pszValue,const char *pszOldValue,const char *pszEntityName);
  88. void BcastSessionid(const char *sessionid,const char *pszEntityName);
  89. void OnSysVarEvent(const char *pszKey, const char *pszValue,const char *pszOldValue,const char *pszEntityName);
  90. void SyncMenuTree(int tree, int path);
  91. ErrorCodeEnum SendAgentText(CSimpleStringW strText);
  92. void SetMenuTree(CSimpleStringW strMenuTree);
  93. void SetMenuTreePath(CSimpleStringW strMenuPath);
  94. ErrorCodeEnum SendFrontSyncData(int id, CSimpleStringW strContent);
  95. ErrorCodeEnum SendH5SyncData(CSimpleStringW strContent);
  96. void SetConnected(bool bConnected);
  97. void OnReceivePacket(int type,int sub_type, const char *data, int size);
  98. void SendAnswer(int sub_type, ErrorCodeEnum Error);
  99. void SendAnswertoMobile(CSimpleStringW packet);
  100. ErrorCodeEnum StartPlayVideo(int nCfgInx, int nWndX, int nWndY, int nWndWidth, int nWndHeight, DWORD dwTimeout);
  101. ErrorCodeEnum StartPlayAudio(CSimpleStringW AudioNames, DWORD dwTimeout);
  102. ErrorCodeEnum StartPlayImage(int nCfgInx, int nWndX, int nWndY, int nWndWidth, int nWndHeight, DWORD dwTimeout);
  103. ErrorCodeEnum StopPlayVideo(int nCfgInx, DWORD dwTimeout);
  104. ErrorCodeEnum StopPlayAudio(DWORD dwTimeout);
  105. ErrorCodeEnum StopPlayImage(int nCfgInx, DWORD dwTimeout);
  106. ErrorCodeEnum GetLocalVideoVolume(int nCfgInx, int &nVolume, DWORD dwTimeout);
  107. ErrorCodeEnum GetLocalAudioVolume(int& nVolume, DWORD dwTimeout);
  108. ErrorCodeEnum SetLocalVideoVolume(int nCfgInx, int nVolume, DWORD dwTimeout);
  109. ErrorCodeEnum SetLocalAudioVolume(int nVolume, DWORD dwTimeout);
  110. ErrorCodeEnum SendBusinessDesktopCmd(CSimpleStringA xapName, CSimpleStringA command);
  111. ErrorCodeEnum GetHandfreeVolume(int iType, int& nVolume, DWORD dwTimeout);
  112. ErrorCodeEnum SetHandfreeVolume(int iType, int nVolume, DWORD dwTimeout);
  113. ErrorCodeEnum GetPickupVolume(int iType, int& nVolume, DWORD dwTimeout);
  114. ErrorCodeEnum SetPickupVolume(int iType, int nVolume, DWORD dwTimeout);
  115. void OnLog(const CAutoArray<CUUID> &SubIDs, const CUUID nLogID,const LogTypeEnum eLogType, const SeverityLevelEnum eLevel,
  116. const DWORD dwSysError,const DWORD dwUserCode,const DWORD dwEntityInstanceID, const WORD wEntityDevelID,
  117. const CAutoArray<DWORD> &Param, const char *pszEntityName, const char *pszModuleName,const char *pszMessage, const linkContext &pLinkInfo);
  118. ErrorCodeEnum SaveVideo(CSimpleStringA strVideoName);
  119. ErrorCodeEnum DeleteVideo(CSimpleStringA strVideoName);
  120. ErrorCodeEnum StartRemoteRecord(CSimpleStringA strVideoName);
  121. ErrorCodeEnum StopRecord(CSimpleStringA strVideoName);
  122. ErrorCodeEnum AppendWaterMark(CSimpleStringW strVideoName, CSimpleStringW strWaterMark);
  123. void AdverPlayManage(const char* pszValue, const char* pszOldValue);
  124. ErrorCodeEnum LoadEntityConfig();
  125. bool IsSupportTransRecordDeviceType();
  126. int GetRecordMode() { return m_iRecordMode; }
  127. ErrorCodeEnum StartTransactionRecord(CSimpleStringA strVideoName);
  128. ErrorCodeEnum StopTransactionRecord(CSimpleStringA strVideoName);
  129. ErrorCodeEnum HangupCall();
  130. ErrorCodeEnum GetAudioDeviceInfo(int& iDeviceCount, CSimpleStringA& strAudioDev, int iAudioType, DWORD dwTimeout);
  131. ErrorCodeEnum GetVideoDeviceInfo(int& iDeviceCount, CSimpleStringA& strVideoDev, DWORD dwTimeout);
  132. ErrorCodeEnum GetMediaDeviceInfo(CSimpleStringA& strHandfreeIn, CSimpleStringA& strHandfreeOut, CSimpleStringA& strPickUpIn, CSimpleStringA& strPickUpOut,
  133. CSimpleStringA& strEnvCamera, CSimpleStringA& strEnvUsbPort, CSimpleStringA& strEnvReserved,
  134. CSimpleStringA& strOptCamera, CSimpleStringA& strOptUsbPort, CSimpleStringA& strOptReserved, DWORD dwTimeout);
  135. ErrorCodeEnum GetPickUpStatus(int& iStatus, DWORD dwTimeout);
  136. int GetRemoteRecordType() { return m_iRemoteRecordType; }
  137. ErrorCodeEnum SetRemoteRecordCamera(int iCamera);
  138. ErrorCodeEnum StartCameraCaptrue();
  139. ErrorCodeEnum StopCameraCaptrue();
  140. ErrorCodeEnum StartFacetracking(SpReqAnsContext<UIService_StartFacetracking_Req, UIService_StartFacetracking_Ans>::Pointer ctx);
  141. ErrorCodeEnum StopFacetracking();
  142. private:
  143. ErrorCodeEnum ConnectAssistChannel();
  144. virtual void OnTimeout(DWORD dwTimerID);
  145. bool IsPlayerEntityAvailable();
  146. ErrorCodeEnum ConnectToLocalPlayer(bool blogevt = false);
  147. bool IsPlayerConnectSessionOK();
  148. void FreePlayClient();
  149. bool IsSalesRecordEntityAvailable();
  150. ErrorCodeEnum ConnectToSalesRecord(bool blogevt = false);
  151. bool IsSalesRecordConnectSessionOK();
  152. void FreeSalesRecordClient();
  153. bool IsSipPhoneEntityAvailable();
  154. ErrorCodeEnum ConnectToSipPhone(bool blogevt = false);
  155. bool IsSipPhoneConnectSessionOK();
  156. void FreeSipPhoneClient();
  157. bool IsMediaCtrEntityAvailable();
  158. ErrorCodeEnum ConnectMediaCtr(bool blogevt = false);
  159. bool IsMediaCtrConnectSessionOK();
  160. void FreeMediaCtrClient();
  161. void OnSalesRecordingFailed(const char* pszFailedMsg);
  162. bool IsRecordEntityAvailable();
  163. ErrorCodeEnum ConnectToRecord(bool blogevt = false);
  164. bool IsRecordConnectSessionOK();
  165. void FreeRecordClient();
  166. bool IsCounterConnectorEntityAvailable();
  167. ErrorCodeEnum ConnectCounterConnector(bool blogevt = false);
  168. bool IsCounterConnectSessionOK();
  169. void FreeCounterClient();
  170. void OnFaceTrackingMsg(const char* pszFaceTrackingMsg);
  171. SP_BEGIN_MSG_DISPATCH_MAP(CITCtrlEntity)
  172. SP_BEGIN_ENTITY_MSG("LocalMediaPlay")
  173. #ifdef RVC_OS_WIN
  174. SP_MSG_HANDLE_NS(LocalMediaPlay, AudioPlayRet, OnAudioPlayRet)
  175. #else
  176. case eMsg_AudioPlayRet:\
  177. if (eMsgSig_AudioPlayRet == dwMessageSignature) {
  178. \
  179. LocalMediaPlay::AudioPlayRet t; \
  180. ErrorCodeEnum Error = SpBuffer2Object(Buffer, t); \
  181. if (Error == Error_Succeed)\
  182. OnAudioPlayRet(pszEntityName, dwMessageId, dwMessageSignature, t); \
  183. }
  184. else {
  185. \
  186. LOG_TRACE("%s signature mismatched!", "AudioPlayRet"); \
  187. }\
  188. break;
  189. #endif
  190. SP_END_ENTITY_MSG()
  191. SP_BEGIN_ENTITY_MSG("MediaController")
  192. #ifdef RVC_OS_WIN
  193. SP_MSG_HANDLE_NS(MediaController, EnvCameraCapInfo, OnEnvCameraCapInfo)
  194. #else
  195. case eMsg_EnvCameraCapInfo:\
  196. if (eMsgSig_EnvCameraCapInfo == dwMessageSignature) {
  197. \
  198. MediaController::EnvCameraCapInfo t; \
  199. ErrorCodeEnum Error = SpBuffer2Object(Buffer, t); \
  200. if (Error == Error_Succeed)\
  201. OnEnvCameraCapInfo(pszEntityName, dwMessageId, dwMessageSignature, t); \
  202. }
  203. else {
  204. \
  205. LOG_TRACE("%s signature mismatched!", "EnvCameraCapInfo"); \
  206. }\
  207. break;
  208. #endif
  209. SP_END_ENTITY_MSG()
  210. SP_END_MSG_DISPATCH_MAP()
  211. private:
  212. CSimpleStringA m_SessionID;
  213. bool m_bConnected;
  214. CSimpleStringW m_strMenuTree;
  215. CSimpleStringW m_strMenuPath;
  216. ChannelClient* m_pChannelClient;
  217. LocalPlayClient* m_pPlayClient;
  218. SalesRecordClient* m_pSalesRecordClient;
  219. SipPhoneClient* m_pSipPhoneClient;
  220. MediaControlClient* m_pMediaCtlClient;
  221. RecordClient* m_pRecordClient;
  222. ConnectClient* m_pConnectClient;
  223. CAutoArray<CUUID> m_arrListener;
  224. CUUID m_uidLocalMediaListenser;
  225. CUUID m_uidMediaControllerListenser;
  226. bool m_bConnectAssist;
  227. int m_iRecordMode;
  228. int m_iRemoteRecordType;
  229. public:
  230. DeviceTypeEnum m_eDeviceType;
  231. bool m_bSalesRecording;
  232. bool m_bAdvOnFlag;
  233. bool m_bNoticePlaying;
  234. bool m_bRecording;
  235. };
  236. class UIServiceSession : public UIService_ServerSessionBase
  237. {
  238. public:
  239. UIServiceSession(CITCtrlEntity *pEntity) : m_pEntity(pEntity) {}
  240. virtual void Handle_SetUIState(SpOnewayCallContext<UIService_SetUIState_Info>::Pointer ctx);
  241. virtual void Handle_SendAgentText(SpReqAnsContext<UIService_SendAgentText_Req, UIService_SendAgentText_Ans>::Pointer ctx);
  242. virtual void Handle_SetMenuTree(SpOnewayCallContext<UIService_SetMenuTree_Info>::Pointer ctx);
  243. virtual void Handle_SetMenuPath(SpOnewayCallContext<UIService_SetMenuPath_Info>::Pointer ctx);
  244. virtual void Handle_SendFrontSyncData(SpOnewayCallContext<UIService_SendFrontSyncData_Info>::Pointer ctx);
  245. virtual void Handle_SendH5SyncData(SpOnewayCallContext<UIService_SendH5SyncData_Info>::Pointer ctx);
  246. virtual void Handle_StartRecordVideo(SpReqAnsContext<UIService_StartRecordVideo_Req, UIService_StartRecordVideo_Ans>::Pointer ctx);
  247. virtual void Handle_StopRecordVideo(SpReqAnsContext<UIService_StopRecordVideo_Req, UIService_StopRecordVideo_Ans>::Pointer ctx);
  248. virtual void Handle_ShowVideo(SpReqAnsContext<UIService_ShowVideo_Req, UIService_ShowVideo_Ans>::Pointer ctx);
  249. virtual void Handle_SaveVideo(SpReqAnsContext<UIService_SaveVideo_Req, UIService_SaveVideo_Ans>::Pointer ctx);
  250. virtual void Handle_DeleteVideo(SpReqAnsContext<UIService_DeleteVideo_Req, UIService_DeleteVideo_Ans>::Pointer ctx);
  251. virtual void Handle_StartPhotograph(SpOnewayCallContext<UIService_StartPhotograph_Info>::Pointer ctx);
  252. virtual void Handle_StopPhotograph(SpOnewayCallContext<UIService_StopPhotograph_Info>::Pointer ctx);
  253. virtual void Handle_StartPlayVideo(SpReqAnsContext<UIService_StartPlayVideo_Req, UIService_StartPlayVideo_Ans>::Pointer ctx);
  254. virtual void Handle_StartPlayAudio(SpReqAnsContext<UIService_StartPlayAudio_Req, UIService_StartPlayAudio_Ans>::Pointer ctx);
  255. virtual void Handle_StartPlayImage(SpReqAnsContext<UIService_StartPlayImage_Req, UIService_StartPlayImage_Ans>::Pointer ctx);
  256. virtual void Handle_StopPlayVideo(SpReqAnsContext<UIService_StopPlayVideo_Req, UIService_StopPlayVideo_Ans>::Pointer ctx);
  257. virtual void Handle_StopPlayAudio(SpReqAnsContext<UIService_StopPlayAudio_Req, UIService_StopPlayAudio_Ans>::Pointer ctx);
  258. virtual void Handle_StopPlayImage(SpReqAnsContext<UIService_StopPlayImage_Req, UIService_StopPlayImage_Ans>::Pointer ctx);
  259. virtual void Handle_SendOperateState(SpOnewayCallContext<UIService_SendOperateState_Info>::Pointer ctx);
  260. virtual void Handle_HideOnlineVideo(SpOnewayCallContext<UIService_HideOnlineVideo_Info>::Pointer ctx);
  261. virtual void Handle_ShowOnlineVideo(SpOnewayCallContext<UIService_ShowOnlineVideo_Info>::Pointer ctx);
  262. virtual void Handle_AnswerPacket(SpReqAnsContext<UIService_AnswerPacket_Req, UIService_AnswerPacket_Ans>::Pointer ctx);
  263. virtual void Handle_GetLocalVideoVolume(SpReqAnsContext<UIService_GetLocalVideoVolume_Req, UIService_GetLocalVideoVolume_Ans>::Pointer ctx);
  264. virtual void Handle_SetLocalVideoVolume(SpReqAnsContext<UIService_SetLocalVideoVolume_Req, UIService_SetLocalVideoVolume_Ans>::Pointer ctx);
  265. virtual void Handle_GetLocalAudioVolume(SpReqAnsContext<UIService_GetLocalAudioVolume_Req, UIService_GetLocalAudioVolume_Ans>::Pointer ctx);
  266. virtual void Handle_SetLocalAudioVolume(SpReqAnsContext<UIService_SetLocalAudioVolume_Req, UIService_SetLocalAudioVolume_Ans>::Pointer ctx);
  267. virtual void Handle_SendBusinessDesktopCmd(SpReqAnsContext<UIService_SendBusinessDesktopCmd_Req, UIService_SendBusinessDesktopCmd_Ans>::Pointer ctx);
  268. virtual void Handle_HideLocalVideo(SpOnewayCallContext<UIService_HideLocalVideo_Info>::Pointer ctx);
  269. virtual void Handle_ShowLocalVideo(SpOnewayCallContext<UIService_ShowLocalVideo_Info>::Pointer ctx);
  270. virtual void Handle_HidePersonArea(SpOnewayCallContext<UIService_HidePersonArea_Info>::Pointer ctx);
  271. virtual void Handle_ShowPersonArea(SpOnewayCallContext<UIService_ShowPersonArea_Info>::Pointer ctx);
  272. virtual void Handle_VideoAppendWaterMark(SpReqAnsContext<UIService_VideoAppendWaterMark_Req, UIService_VideoAppendWaterMark_Ans>::Pointer ctx);
  273. virtual void Handle_StartRemoteRecord(SpReqAnsContext<UIService_StartRemoteRecord_Req, UIService_StartRemoteRecord_Ans>::Pointer ctx);
  274. virtual void Handle_StopRemoteRecord(SpReqAnsContext<UIService_StopRemoteRecord_Req, UIService_StopRemoteRecord_Ans>::Pointer ctx);
  275. virtual void Handle_StartSalesRecord(SpReqAnsContext<UIService_StartSalesRecord_Req, UIService_StartSalesRecord_Ans>::Pointer ctx);
  276. virtual void Handle_StartRecordPreview(SpReqAnsContext<UIService_StartRecordPreview_Req, UIService_StartRecordPreview_Ans>::Pointer ctx);
  277. virtual void Handle_AjustVideoPreviewSize(SpReqAnsContext<UIService_AjustVideoPreviewSize_Req, UIService_AjustVideoPreviewSize_Ans>::Pointer ctx);
  278. virtual void Handle_StartSalesVideoRecord(SpReqAnsContext<UIService_StartSalesVideoRecord_Req, UIService_StartSalesVideoRecord_Ans>::Pointer ctx);
  279. virtual void Handle_StopShowVideo(SpReqAnsContext<UIService_StopShowVideo_Req, UIService_StopShowVideo_Ans>::Pointer ctx);
  280. virtual void Handle_StartPlaySalesRecord(SpReqAnsContext<UIService_StartPlaySalesRecord_Req, UIService_StartPlaySalesRecord_Ans>::Pointer ctx);
  281. virtual void Handle_GetHandfreeOutVolume(SpReqAnsContext<UIService_GetHandfreeOutVolume_Req, UIService_GetHandfreeOutVolume_Ans>::Pointer ctx);
  282. virtual void Handle_SetHandfreeOutVolume(SpReqAnsContext<UIService_SetHandfreeOutVolume_Req, UIService_SetHandfreeOutVolume_Ans>::Pointer ctx);
  283. virtual void Handle_GetPickupOutVolume(SpReqAnsContext<UIService_GetPickupOutVolume_Req, UIService_GetPickupOutVolume_Ans>::Pointer ctx);
  284. virtual void Handle_SetPickupOutVolume(SpReqAnsContext<UIService_SetPickupOutVolume_Req, UIService_SetPickupOutVolume_Ans>::Pointer ctx);
  285. virtual void Handle_StartPlayNotice(SpReqAnsContext<UIService_StartPlayNotice_Req, UIService_StartPlayNotice_Ans>::Pointer ctx);
  286. virtual void Handle_StopPlayNotice(SpReqAnsContext<UIService_StopPlayNotice_Req, UIService_StopPlayNotice_Ans>::Pointer ctx);
  287. virtual void Handle_GetRecordMode(SpReqAnsContext<UIService_GetRecordMode_Req, UIService_GetRecordMode_Ans>::Pointer ctx);
  288. virtual void Handle_StartTransactionRecord(SpReqAnsContext<UIService_StartTransactionRecord_Req, UIService_StartTransactionRecord_Ans>::Pointer ctx);
  289. virtual void Handle_StopTransactionRecord(SpReqAnsContext<UIService_StopTransactionRecord_Req, UIService_StopTransactionRecord_Ans>::Pointer ctx);
  290. virtual void Handle_GetCallState(SpReqAnsContext<UIService_GetCallState_Req, UIService_GetCallState_Ans>::Pointer ctx);
  291. virtual void Handle_HangupCall(SpOnewayCallContext<UIService_HangupCall_Info>::Pointer ctx);
  292. virtual void Handle_GetTransactionRecordState(SpReqAnsContext<UIService_GetTransactionRecordState_Req, UIService_GetTransactionRecordState_Ans>::Pointer ctx);
  293. virtual void Handle_GetHandfreeInVolume(SpReqAnsContext<UIService_GetHandfreeInVolume_Req, UIService_GetHandfreeInVolume_Ans>::Pointer ctx);
  294. virtual void Handle_SetHandfreeInVolume(SpReqAnsContext<UIService_SetHandfreeInVolume_Req, UIService_SetHandfreeInVolume_Ans>::Pointer ctx);
  295. virtual void Handle_GetPickupInVolume(SpReqAnsContext<UIService_GetPickupInVolume_Req, UIService_GetPickupInVolume_Ans>::Pointer ctx);
  296. virtual void Handle_SetPickupInVolume(SpReqAnsContext<UIService_SetPickupInVolume_Req, UIService_SetPickupInVolume_Ans>::Pointer ctx);
  297. virtual void Handle_GetAudioInDevices(SpReqAnsContext<UIService_GetAudioInDevices_Req, UIService_GetAudioInDevices_Ans>::Pointer ctx);
  298. virtual void Handle_GetAudioOutDevices(SpReqAnsContext<UIService_GetAudioOutDevices_Req, UIService_GetAudioOutDevices_Ans>::Pointer ctx);
  299. virtual void Handle_GetCameraInfo(SpReqAnsContext<UIService_GetCameraInfo_Req, UIService_GetCameraInfo_Ans>::Pointer ctx);
  300. virtual void Handle_GetMediaDeviceInfo(SpReqAnsContext<UIService_GetMediaDeviceInfo_Req, UIService_GetMediaDeviceInfo_Ans>::Pointer ctx);
  301. virtual void Handle_GetPickUpStatus(SpReqAnsContext<UIService_GetPickUpStatus_Req, UIService_GetPickUpStatus_Ans>::Pointer ctx);
  302. virtual void Handle_GetCameraState(SpReqAnsContext<UIService_GetCameraState_Req, UIService_GetCameraState_Ans>::Pointer ctx);
  303. virtual void Handle_SetRemoteRecordCamera(SpReqAnsContext<UIService_SetRemoteRecordCamera_Req, UIService_SetRemoteRecordCamera_Ans>::Pointer ctx);
  304. virtual void Handle_StartCameraCapture(SpReqAnsContext<UIService_StartCameraCapture_Req, UIService_StartCameraCapture_Ans>::Pointer ctx);
  305. virtual void Handle_StopCameraCapture(SpReqAnsContext<UIService_StopCameraCapture_Req, UIService_StopCameraCapture_Ans>::Pointer ctx);
  306. virtual void Handle_StartFacetracking(SpReqAnsContext<UIService_StartFacetracking_Req, UIService_StartFacetracking_Ans>::Pointer ctx);
  307. virtual void Handle_StopFacetracking(SpReqAnsContext<UIService_StopFacetracking_Req, UIService_StopFacetracking_Ans>::Pointer ctx);
  308. private:
  309. CITCtrlEntity *m_pEntity;
  310. };