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

TapiOpInsert.cpp 4.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. #include "StdAfx.h"
  2. #include "TapiOpInsert.h"
  3. #include "DevControl.h"
  4. #include "LineOpExec.h"
  5. #include "TapiLine.h"
  6. CTapiOpInsert::CTapiOpInsert(LONG Instance) : CTapiOpBase(Instance)
  7. {
  8. }
  9. CTapiOpInsert::~CTapiOpInsert(void)
  10. {
  11. }
  12. /*****************************************************************
  13. **【函数名称】 start
  14. **【函数功能】 操作启动(命令方式)
  15. **【参数】 pParam 操作启动参数
  16. **【返回值】
  17. ****************************************************************/
  18. bool CTapiOpInsert::start( LineOpParam* pParam )
  19. {
  20. // 校验线路状态
  21. if((m_pHostLine->status() & INNER_STATE_FREE) == 0x00 &&
  22. (m_pHostLine->status() & INNER_STATE_INIT) == 0x00)
  23. {
  24. return false;
  25. } // end if
  26. // 保存被强插的目标号码
  27. m_DestNum.Format(_T("%s"), pParam->szParam2);
  28. // 通知启动日志
  29. CDevControl::GetInstance().onEventLog(LOG_LEVEL_NORMAL, _T("{OP_Insert}: Exten[%s]执行强插, DestNum = %s"), m_pHostLine->extenID(), m_DestNum);
  30. // 调用线路强插操作
  31. return m_pHostLine->lineInsert(m_DestNum);
  32. }
  33. /*****************************************************************
  34. **【函数名称】 cancel
  35. **【函数功能】 操作取消(命令方式)
  36. **【参数】
  37. **【返回值】
  38. ****************************************************************/
  39. bool CTapiOpInsert::cancel( LONG InstanceCancel )
  40. {
  41. return false;
  42. }
  43. /*****************************************************************
  44. **【函数名称】 end
  45. **【函数功能】 操作完成
  46. **【参数】 IsSucceed 操作是否成功
  47. **【返回值】
  48. ****************************************************************/
  49. void CTapiOpInsert::end( bool IsSucceed )
  50. {
  51. if(IsSucceed)
  52. {
  53. CDevControl::GetInstance().onEventLog(LOG_LEVEL_NORMAL, _T("{OP_Insert}: Exten[%s]强插成功, DestNum = %s"), m_pHostLine->extenID(), m_DestNum);
  54. }
  55. else
  56. {
  57. CDevControl::GetInstance().onEventLog(LOG_LEVEL_WARNING, _T("{OP_Insert}: Exten[%s]强插失败, DestNum = %s"), m_pHostLine->extenID(), m_DestNum);
  58. } // end if
  59. // 返回执行结果
  60. CLineOpExec::GetInstance().onTapiOpResult(m_Instance, this, IsSucceed);
  61. }
  62. /*****************************************************************
  63. **【函数名称】 onReply
  64. **【函数功能】 线路操作异步响应事件
  65. **【参数】 pEventLine 触发事件的线路
  66. RequestID
  67. Result
  68. **【返回值】
  69. ****************************************************************/
  70. void CTapiOpInsert::onReply( CTapiLine* pEventLine, LONG RequestID, HRESULT Result )
  71. {
  72. if(Result != S_OK)
  73. end(false);
  74. }
  75. /*****************************************************************
  76. **【函数名称】 onCallState
  77. **【函数功能】 呼叫状态事件
  78. **【参数】 pEventLine 触发事件的线路
  79. CallId 触发事件的呼叫句柄
  80. CallState 呼叫基本状态
  81. CallStateDetail 呼叫明细状态
  82. **【返回值】
  83. ****************************************************************/
  84. void CTapiOpInsert::onCallState( CTapiLine* pEventLine, HCALL CallId, DWORD CallState, DWORD CallStateDetail )
  85. {
  86. // 根据呼叫状态判定强插是否成功
  87. if(CallState & LINECALLSTATE_CONNECTED)
  88. {
  89. end(true);
  90. }
  91. else if(CallState & LINECALLSTATE_DISCONNECTED)
  92. {
  93. end(false);
  94. } // end if
  95. }
  96. /*****************************************************************
  97. **【函数名称】 onDevLineEventS
  98. **【函数功能】 DevLink中S事件响应
  99. **【参数】 pEventLine 触发事件的线路
  100. pInfoS DevLink S事件内容
  101. **【返回值】
  102. ****************************************************************/
  103. void CTapiOpInsert::onDevLinkEventS( CTapiLine* pEventLine, DevLinkInfoS* pInfoS )
  104. {
  105. }
  106. /*****************************************************************
  107. **【函数名称】 onDevLineEventD
  108. **【函数功能】 DevLink中D事件响应
  109. **【参数】 pEventLine 触发事件的线路
  110. nDevLinkCallId DevLink事件CallId
  111. **【返回值】
  112. ****************************************************************/
  113. void CTapiOpInsert::onDevLinkEventD( CTapiLine* pEventLine, int DevLinkCallId )
  114. {
  115. }
  116. /*****************************************************************
  117. **【函数名称】 onDevLineEventA
  118. **【函数功能】 DevLink中A事件响应
  119. **【参数】 pEventLine 触发事件的线路
  120. nDevLinkCallId DevLink事件CallId
  121. **【返回值】
  122. ****************************************************************/
  123. void CTapiOpInsert::onDevLinkEventA( CTapiLine* pEventLine, int DevLinkCallId )
  124. {
  125. }