MiddleWares_YiHe 郑州颐和医院随访系统中间件

LineRecordIpra.cpp 2.2KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. #include "StdAfx.h"
  2. #include "LineRecordIpra.h"
  3. #include "IprControl.h"
  4. CLineRecordIpra::CLineRecordIpra(int LineId) : CLine(LineId), m_StationId(CONST_IPR_STATION_INVALID), m_SessionId(CONST_IPR_SESSION_INVALID)
  5. {
  6. }
  7. CLineRecordIpra::~CLineRecordIpra(void)
  8. {
  9. }
  10. /*****************************************************************
  11. **【函数名称】 getState
  12. **【函数功能】 获取状态字符串
  13. **【参数】
  14. **【返回值】
  15. ****************************************************************/
  16. LPCTSTR CLineRecordIpra::getState( void ) const
  17. {
  18. switch(m_State)
  19. {
  20. case S_CALL_STANDBY: return _T("空闲");
  21. case S_CALL_UNAVAILABLE: return _T("不可用");
  22. case S_IPR_COMMUNICATING: return _T("协商中");
  23. case S_IPR_USING: return _T("录音中");
  24. default: return _T("未知状态");
  25. }
  26. }
  27. /*****************************************************************
  28. **【函数名称】 procDevMsg
  29. **【函数功能】 底层事件响应处理
  30. **【参数】 pEvent 事件信息结构体
  31. **【返回值】
  32. ****************************************************************/
  33. void CLineRecordIpra::procDevMsg( PSSM_EVENT pEvent )
  34. {
  35. switch(pEvent->wEventCode)
  36. {
  37. case E_CHG_ChState: // 模拟录音线路状态事件
  38. CIprControl::GetInstance().onEventIpaState(this, SsmGetChState(pEvent->nReference));
  39. break;
  40. case E_RCV_IPR_MEDIA_SESSION_STARTED:
  41. case E_RCV_IPR_AUX_MEDIA_SESSION_STARTED:
  42. CIprControl::GetInstance().onEventMediaSessionStarted(this, pEvent);
  43. break;
  44. case E_RCV_IPR_MEDIA_SESSION_STOPED:
  45. case E_RCV_IPR_AUX_MEDIA_SESSION_STOPED:
  46. CIprControl::GetInstance().onEventMediaSessionStoped(this, pEvent);
  47. break;
  48. }
  49. }
  50. /*****************************************************************
  51. **【函数名称】 procCmd
  52. **【函数功能】 线路命令处理
  53. **【参数】 pPduEntity 线路命令指针
  54. **【返回值】
  55. ****************************************************************/
  56. void CLineRecordIpra::procCmd( CPduEntity * pPduEntity )
  57. {
  58. }
  59. /*****************************************************************
  60. **【函数名称】 resetRecContext
  61. **【函数功能】 重置录音环境
  62. **【参数】
  63. **【返回值】
  64. ****************************************************************/
  65. void CLineRecordIpra::resetRecContext( void )
  66. {
  67. m_StationId = CONST_IPR_STATION_INVALID;
  68. m_SessionId = CONST_IPR_SESSION_INVALID;
  69. }