MiddleWares_YiHe 郑州颐和医院随访系统中间件

LogicLine.h 3.2KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  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. void SetActionID() ;
  44. void SetActionID(int ActionId) {m_ActionID = ActionId; }
  45. int GetActionID() {return m_ActionID;}
  46. CLogicLine* assoLine(); // 获取对端线路指针
  47. virtual UINT type() = 0; // 返回线路类型
  48. virtual UINT typeExtTrunk() = 0; // 返回线路类型 //For Voip 2018.5.19
  49. virtual int getAgentNum() { return 0; } // 获取分机关联的工号
  50. virtual void setAgentNum(int nAgentId) {} // 设置坐席工号
  51. virtual void pushLineData2ACD() {} // 将线路数据推送给ACD
  52. virtual void pushRecord2ACD() {} // 将录音文件名推送给ACD
  53. virtual void onLineStatusUpdated(const EventResStatus &EvtInfo) = 0; // 处理线路状态变化
  54. protected:
  55. void _reportLineStatus(void); // 线路状态变化统计
  56. void _reportLineStatus(UINT id,ULONG m_CallId); // 线路状态测试统计 // by
  57. protected:
  58. UINT m_LineId; // 线路ID
  59. UINT m_LineStatus; // 线路状态
  60. ULONG m_CallId; // 当前CallId
  61. ULONG m_HoldCallId; // 保持会话标志
  62. UINT m_CurrentOpType ; // 记录对当前线路的操作类型
  63. BOOL m_CurrentOpResult; // 线路的当前操作结果
  64. LONG m_TaskIdBinded; // 线路绑定的TaskId
  65. CString m_CallerNum; // 主叫号码
  66. CString m_CalleeNum; // 被叫号码
  67. CString m_RecordFile; // 当前线路录音文件名
  68. int m_ActionID; //记录电话转移 三方通话标识
  69. };