/************************************************************************* 【文件名】 CallSession.h 【功能模块和目的】 会话类头文件 【开发者及日期】 郑石诺 2015/01/12 【版本】 V1.0.0 【版权信息】 Copyright (C)2015 河南华谊网络科技有限公司 【更改记录】 *************************************************************************/ #pragma once class CLogicLine; /************************************************************************* 【类名】 CCallSession 【功能】 【接口说明】 会话类头 【开发者及日期】 郑石诺 2015/01/12 【版本】 V1.0.0 【版权信息】 Copyright (C)2015 河南华谊网络科技有限公司 【更改记录】 *************************************************************************/ class CCallSession { public: CCallSession(ULONG CallId); ~CCallSession(void); ULONG callId(void) const { return m_CallId; } // 获取会话标识 int lineCount(void) const { return m_LineList.GetCount(); } // 获取线路数量 const CString& data(void) const { return m_Data; } // 获取随路数据 CString& data(void) { return m_Data; } CLogicLine* getAssoLine(CLogicLine* pHostLine); // 获取关联线路 void addLine(CLogicLine *pLine); // 会话中添加线路 void onLineStatusUpdated(CLogicLine* pLine); // 处理线路状态 void onRecord(CLogicLine* pLine); private: void __procLineRecord(CLogicLine* pRecLine, CString& RecFile); // 处理线路录音 void __onLineTalking(CLogicLine* pLine); // 线路通话 void __onLineHangUp(CLogicLine* pLine); // 线路挂机 void __onLineTrunkTransfer(CLogicLine* pLine); // 中继转分机时间记录 void __onLineTrunkTransferCrd(); // 更新中继转分机之后的trunk外线的记录表 private: typedef CList LogicLineList; LogicLineList m_LineList; // 会话中线路列表 ULONG m_CallId; // 会话标识 CString m_RecFile; // 会话中主录音文件 CString m_Data; // 与会话绑定的随路数据 };