中间件底层,websocket

TaskIvrHangUp.cpp 1.7KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. #include "stdafx.h"
  2. #include "TaskIvrHangUp.h"
  3. #include "LineHolder.h"
  4. #include "LogicLine.h"
  5. #include "CtiCore.h"
  6. CTaskIvrHangUp::CTaskIvrHangUp(CPduEntity &PduEntity): CTask(PduEntity)
  7. {
  8. }
  9. CTaskIvrHangUp::~CTaskIvrHangUp(void)
  10. {
  11. }
  12. /*****************************************************************
  13. **【函数名称】 DoTask
  14. **【函数功能】 Task处理
  15. **【参数】
  16. **【返回值】 void
  17. ****************************************************************/
  18. BOOL CTaskIvrHangUp::DoTask()
  19. {
  20. // 显示日志
  21. ShowLog();
  22. // 校验
  23. if(!Verify()) return FALSE;
  24. // 设置当前操作类型
  25. if (m_pCurrLine == NULL)return FALSE;
  26. m_pCurrLine->opType() = PDU_CMD_IVR_HANGUP;
  27. // 向底层设备发送挂机命令
  28. LineOpParam pLineOpParam;
  29. memset(&pLineOpParam,0,sizeof(pLineOpParam));
  30. sprintf_s(pLineOpParam.szParam1, PHONE_NUM_LEN, "%u", m_CurrCmd.GetDataUInt(3));
  31. return CCtiCore::GetInstance().getDevLink().exec((long)this, LINE_OP_HANG_UP, m_pCurrLine->lineId(), &pLineOpParam);
  32. }
  33. /*****************************************************************
  34. **【函数名称】 Verify
  35. **【函数功能】 校验
  36. **【参数】
  37. **【返回值】 BOOL
  38. ****************************************************************/
  39. BOOL CTaskIvrHangUp::Verify()
  40. {
  41. // 线路绑定校验
  42. if(!_bindLogicLine(m_CurrCmd.GetDataUInt(3)))
  43. return FALSE;
  44. return TRUE;
  45. }
  46. /*****************************************************************
  47. **【函数名称】 ShowLog
  48. **【函数功能】 显示日志
  49. **【参数】
  50. **【返回值】 void
  51. ****************************************************************/
  52. void CTaskIvrHangUp::ShowLog()
  53. {
  54. // 显示日志
  55. ILogger::getInstance().log(LOG_CLASS_SOCKET, LOG_LEVEL_NORMAL, _T("IVR->CTI, CMD = [IVR挂机], \
  56. IVR = %d, Line = %d"),
  57. m_CurrCmd.GetDataInt(1),
  58. m_CurrCmd.GetDataUInt(3));
  59. }