中航光电的中间件仓库

LineRecordDig.cpp 2.0KB

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