中间件底层,websocket

CallSession.h 1.9KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. /*************************************************************************
  2. 【文件名】 CallSession.h
  3. 【功能模块和目的】 会话类头文件
  4. 【开发者及日期】 郑石诺 2015/01/12
  5. 【版本】 V1.0.0
  6. 【版权信息】 Copyright (C)2015 河南加一信息技术有限公司
  7. 【更改记录】
  8. *************************************************************************/
  9. #pragma once
  10. class CLogicLine;
  11. /*************************************************************************
  12. 【类名】 CCallSession
  13. 【功能】
  14. 【接口说明】 会话类头
  15. 【开发者及日期】 郑石诺 2015/01/12
  16. 【版本】 V1.0.0
  17. 【版权信息】 Copyright (C)2015 河南加一信息技术有限公司
  18. 【更改记录】
  19. *************************************************************************/
  20. class CCallSession
  21. {
  22. public:
  23. CCallSession(ULONG CallId);
  24. ~CCallSession(void);
  25. ULONG callId(void) const { return m_CallId; } // 获取会话标识
  26. int lineCount(void) const { return m_LineList.GetCount(); } // 获取线路数量
  27. const CString& data(void) const { return m_Data; } // 获取随路数据
  28. CString& data(void) { return m_Data; }
  29. UINT lastLine(void) const { return m_LineList.GetTail(); } // 获取最近的线路id, 2022-01-12
  30. CLogicLine* getAssoLine(CLogicLine* pHostLine); // 获取关联线路
  31. void addLine(CLogicLine *pLine); // 会话中添加线路
  32. void onLineStatusUpdated(CLogicLine* pLine); // 处理线路状态
  33. void onRecord(CLogicLine* pLine);
  34. private:
  35. void __procLineRecord(CLogicLine* pRecLine, CString& RecFile); // 处理线路录音
  36. void __onLineTalking(CLogicLine* pLine); // 线路通话
  37. void __onLineHangUp(CLogicLine* pLine); // 线路挂机
  38. void __onSetChannelVar(CLogicLine* pLine, CLogicLine* pTempLine);
  39. private:
  40. typedef CList<UINT, UINT> LogicLineList;
  41. LogicLineList m_LineList; // 会话中线路列表
  42. ULONG m_CallId; // 会话标识
  43. CString m_RecFile; // 会话中主录音文件
  44. CString m_Data; // 与会话绑定的随路数据
  45. };