暫無描述

LogicLine.h 3.8KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. /*************************************************************************
  2. 【文件名】 LogicLine.h
  3. 【功能模块和目的】 逻辑线路类基类头文件
  4. 【开发者及日期】 郑石诺 2015/01/10
  5. 【版本】 V1.0.0
  6. 【版权信息】 Copyright (C)2015 河南华谊网络科技有限公司
  7. 【更改记录】
  8. *************************************************************************/
  9. #pragma once
  10. /*************************************************************************
  11. 【类名】 CLogicLine
  12. 【功能】
  13. 【接口说明】 逻辑线路类基类
  14. 【开发者及日期】 郑石诺 2015/01/10
  15. 【版本】 V1.0.0
  16. 【版权信息】 Copyright (C)2015 河南华谊网络科技有限公司
  17. 【更改记录】
  18. *************************************************************************/
  19. class CLogicLine
  20. {
  21. public:
  22. CLogicLine(UINT ResId);
  23. virtual ~CLogicLine(void) = 0 {}
  24. // 设置属性
  25. void setRecordFile(const CString& strFileName); // 设置坐席录音文件名
  26. virtual void resetLine(); // 线路信息重置
  27. // 获取属性
  28. UINT lineId() const { return m_LineId; } // 获取线路ID
  29. UINT& lineId() { return m_LineId; }
  30. ULONG callId() const { return m_CallId; } // 获取CallId
  31. ULONG& callId() { return m_CallId; }
  32. ULONG callIdOnHold() const { return m_HoldCallId; } // 获取保持会话的CallId
  33. UINT status() const { return m_LineStatus; } // 获取线路状态
  34. const CString& recordFile() const { return m_RecordFile; } // 获取当前线路录音文件名
  35. const CString& callerNum() const { return m_CallerNum;} // 获取主叫号码
  36. const CString& calleeNum() const { return m_CalleeNum;} // 获取被叫号码
  37. UINT opType() const { return m_CurrentOpType; } // 获取当前线路正在进行的操作类型
  38. UINT& opType() { return m_CurrentOpType; }
  39. BOOL opResult() const { return m_CurrentOpResult; } // 获取当前操作结果
  40. BOOL& opResult() { return m_CurrentOpResult; }
  41. LONG taskIdBinded() const { return m_TaskIdBinded; } // 绑定的TaskId
  42. LONG& taskIdBinded() { return m_TaskIdBinded; }
  43. bool isMeeting()const { return m_IsMeeting; }
  44. bool& isMeeting() { return m_IsMeeting; }
  45. bool isFirstTrunk() const { return m_IsFirstTrunk; }
  46. bool& isFirstTrunk() { return m_IsFirstTrunk; }
  47. void SetActionID() ;
  48. void SetActionID(int ActionId) { m_ActionID = ActionId; }
  49. int GetActionID() {return m_ActionID;}
  50. CString UUID()const { return m_UUID; } // 获取对应fsUUID 2022-10-08
  51. CString& UUID() { return m_UUID; }
  52. CLogicLine* assoLine(); // 获取对端线路指针
  53. virtual UINT type() = 0; // 返回线路类型
  54. virtual UINT typeExtTrunk() = 0; // 返回线路类型 //For Voip 2018.5.19
  55. virtual int getAgentNum() { return 0; } // 获取分机关联的工号
  56. virtual CString getAgentGroup() { return ""; } // 获取关联的坐席组号 2021-11-29 添加保存签入坐席组号
  57. virtual void setAgentNum(int nAgentId, CString sAgentGroup) {} // 设置坐席工号 2021-11-29 添加保存签入坐席组号
  58. virtual void pushLineData2ACD() {} // 将线路数据推送给ACD
  59. virtual void pushRecord2ACD() {} // 将录音文件名推送给ACD
  60. virtual void onLineStatusUpdated(const EventResStatus &EvtInfo) = 0; // 处理线路状态变化
  61. protected:
  62. void _reportLineStatus(void); // 线路状态变化统计
  63. protected:
  64. UINT m_LineId; // 线路ID
  65. UINT m_LineStatus; // 线路状态
  66. ULONG m_CallId; // 当前CallId
  67. ULONG m_HoldCallId; // 保持会话标志
  68. UINT m_CurrentOpType ; // 记录对当前线路的操作类型
  69. BOOL m_CurrentOpResult; // 线路的当前操作结果
  70. LONG m_TaskIdBinded; // 线路绑定的TaskId
  71. CString m_CallerNum; // 主叫号码
  72. CString m_CalleeNum; // 被叫号码
  73. CString m_RecordFile; // 当前线路录音文件名
  74. int m_ActionID; //记录电话转移 三方通话标识
  75. bool m_IsMeeting; // 是否再会议中 // 2021-12-21 用于会议中,市民挂断时推送给坐席
  76. bool m_IsFirstTrunk; // 是否是会话中的第一条中继
  77. CString m_UUID; // 对应fs的uuid,2022-10-08
  78. };