中间件标准版5.1git,去除基础模块

LineRecordAna.cpp 2.1KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. #include "StdAfx.h"
  2. #include "LineRecordAna.h"
  3. #include "LineOpImplement.h"
  4. #include "Config.h"
  5. CLineRecordAna::CLineRecordAna(int LineId) : CLine(LineId)
  6. {
  7. m_IPOLineID = CConfig::getAssoIpoLineIdOfRecordLineAna(LineId);
  8. ILogger::getInstance().log(LOG_CLASS_BUSI, LOG_LEVEL_NORMAL, _T("{Line}: 初始化模拟录音线路, LineId = %d, IPOLineId = %d"), m_LineID, m_IPOLineID);
  9. }
  10. CLineRecordAna::~CLineRecordAna(void)
  11. {
  12. }
  13. /*****************************************************************
  14. **【函数名称】 getState
  15. **【函数功能】 获取状态字符串
  16. **【参数】
  17. **【返回值】
  18. ****************************************************************/
  19. LPCTSTR CLineRecordAna::getState( void ) const
  20. {
  21. switch(m_State)
  22. {
  23. case S_CALL_STANDBY: return _T("空闲");
  24. case S_CALL_PICKUPED: return _T("摘机");
  25. case S_CALL_RINGING: return _T("振铃");
  26. case S_CALL_TALKING: return _T("通话");
  27. case S_CALL_OFFLINE: return _T("断开");
  28. case S_CALL_ANALOG_WAITDIALTONE: return _T("等待拨号");
  29. case S_CALL_ANALOG_TXPHONUM: return _T("拨号");
  30. default: return _T("未知状态");
  31. }
  32. }
  33. /*****************************************************************
  34. **【函数名称】 procDevMsg
  35. **【函数功能】 底层事件响应处理
  36. **【参数】 pEvent 事件信息结构体
  37. **【返回值】
  38. ****************************************************************/
  39. void CLineRecordAna::procDevMsg( PSSM_EVENT pEvent )
  40. {
  41. switch(pEvent->wEventCode)
  42. {
  43. case E_CHG_ChState: // 模拟录音线路状态事件
  44. CLineOpImplement::GetInstance().onMsgAnaState(this, SsmGetChState(pEvent->nReference));
  45. break;
  46. }
  47. }
  48. /*****************************************************************
  49. **【函数名称】 procCmd
  50. **【函数功能】 线路命令处理
  51. **【参数】 pPduEntity 线路命令指针
  52. **【返回值】
  53. ****************************************************************/
  54. void CLineRecordAna::procCmd( CPduEntity * pPduEntity )
  55. {
  56. switch(pPduEntity->GetCmdType())
  57. {
  58. case PDU_CMD_CTI_VS_RECORD: // 处理录音或者留言命令
  59. CLineOpImplement::GetInstance().onCmdLineRecord(this, pPduEntity);
  60. break;
  61. case PDU_CMD_CTI_VS_LINECONTROL: // 处理线路控制命令
  62. CLineOpImplement::GetInstance().onCmdLineRecControl(this, pPduEntity);
  63. break;
  64. }
  65. }