/************************************************************************* 【文件名】 LogicLine.h 【功能模块和目的】 逻辑线路类基类头文件 【开发者及日期】 郑石诺 2015/01/10 【版本】 V1.0.0 【版权信息】 Copyright (C)2015 河南华谊网络科技有限公司 【更改记录】 *************************************************************************/ #pragma once /************************************************************************* 【类名】 CLogicLine 【功能】 【接口说明】 逻辑线路类基类 【开发者及日期】 郑石诺 2015/01/10 【版本】 V1.0.0 【版权信息】 Copyright (C)2015 河南华谊网络科技有限公司 【更改记录】 *************************************************************************/ class CLogicLine { public: CLogicLine(UINT ResId); virtual ~CLogicLine(void) = 0 {} // 设置属性 void setRecordFile(const CString& strFileName); // 设置坐席录音文件名 virtual void resetLine(); // 线路信息重置 // 获取属性 UINT lineId() const { return m_LineId; } // 获取线路ID UINT& lineId() { return m_LineId; } ULONG callId() const { return m_CallId; } // 获取CallId ULONG& callId() { return m_CallId; } ULONG callIdOnHold() const { return m_HoldCallId; } // 获取保持会话的CallId UINT status() const { return m_LineStatus; } // 获取线路状态 const CString& recordFile() const { return m_RecordFile; } // 获取当前线路录音文件名 const CString& callerNum() const { return m_CallerNum;} // 获取主叫号码 const CString& calleeNum() const { return m_CalleeNum;} // 获取被叫号码 UINT opType() const { return m_CurrentOpType; } // 获取当前线路正在进行的操作类型 UINT& opType() { return m_CurrentOpType; } BOOL opResult() const { return m_CurrentOpResult; } // 获取当前操作结果 BOOL& opResult() { return m_CurrentOpResult; } LONG taskIdBinded() const { return m_TaskIdBinded; } // 绑定的TaskId LONG& taskIdBinded() { return m_TaskIdBinded; } CLogicLine* assoLine(); // 获取对端线路指针 virtual UINT type() = 0; // 返回线路类型 virtual int getAgentNum() { return 0; } // 获取分机关联的工号 virtual void setAgentNum(int nAgentId) {} // 设置坐席工号 virtual void pushLineData2ACD() {} // 将线路数据推送给ACD virtual void pushRecord2ACD() {} // 将录音文件名推送给ACD virtual void onLineStatusUpdated(const EventResStatus &EvtInfo) = 0; // 处理线路状态变化 protected: void _reportLineStatus(void); // 线路状态变化统计 protected: UINT m_LineId; // 线路ID UINT m_LineStatus; // 线路状态 ULONG m_CallId; // 当前CallId ULONG m_HoldCallId; // 保持会话标志 UINT m_CurrentOpType ; // 记录对当前线路的操作类型 BOOL m_CurrentOpResult; // 线路的当前操作结果 LONG m_TaskIdBinded; // 线路绑定的TaskId CString m_CallerNum; // 主叫号码 CString m_CalleeNum; // 被叫号码 CString m_RecordFile; // 当前线路录音文件名 };