#include "StdAfx.h" #include "LineRecordDig.h" #include "Config.h" #include "LineOpImplement.h" CLineRecordDig::CLineRecordDig(int LineId) : CLine(LineId) { m_CicId = SpyChToCic(m_LineID); m_IPOLineID = CConfig::getAssoIpoLineIdOfRecordLineDig(m_CicId); ILogger::getInstance().log(LOG_CLASS_BUSI, LOG_LEVEL_NORMAL, _T("{Line}: 初始化数字录音线路, LineId = %d, IPOLineId = %d"), m_CicId, m_IPOLineID); } CLineRecordDig::~CLineRecordDig(void) { } /***************************************************************** **【函数名称】 getState **【函数功能】 获取状态字符串 **【参数】 **【返回值】 ****************************************************************/ LPCTSTR CLineRecordDig::getState( void ) const { switch(m_State) { case S_SPY_SS1RESET: case S_SPY_STANDBY: return _T("空闲"); case S_SPY_RINGING: return _T("振铃"); case S_SPY_TALKING: return _T("通话"); case S_CALL_UNAVAILABLE: return _T("不可用"); default: return _T("未知状态"); } // end switch } /***************************************************************** **【函数名称】 procDevMsg **【函数功能】 底层事件响应处理 **【参数】 pMsgInfo 事件信息结构体 **【返回值】 ****************************************************************/ void CLineRecordDig::procDevMsg( PSSM_EVENT pEvent ) { switch(pEvent->wEventCode) { case E_CHG_SpyState: //录音或者留言结束事件 CLineOpImplement::GetInstance().onMsgDigState(this, SpyGetState(pEvent->nReference)); break; } } /***************************************************************** **【函数名称】 procCmd **【函数功能】 线路命令处理 **【参数】 pPduEntity 线路命令指针 **【返回值】 ****************************************************************/ void CLineRecordDig::procCmd( CPduEntity * pPduEntity ) { switch(pPduEntity->GetCmdType()) { case PDU_CMD_CTI_VS_RECORD: // 处理录音或者留言命令 CLineOpImplement::GetInstance().onCmdLineRecord(this, pPduEntity); break; case PDU_CMD_CTI_VS_LINECONTROL: // 处理线路控制命令 CLineOpImplement::GetInstance().onCmdLineRecControl(this, pPduEntity); break; } }