升龙物业 老版本 ocx IPO, 加密狗 转值班电话

IvrFlowHolder.h 1.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. /*************************************************************************
  2. 【文件名】 IvrFlowHolder.h
  3. 【功能模块和目的】 IVR Flow控制类头文件
  4. 【开发者及日期】 郑石诺 2015/01/07
  5. 【版本】 V1.0.0
  6. 【版权信息】 Copyright (C)2015 河南华谊网络科技有限公司
  7. 【更改记录】
  8. *************************************************************************/
  9. #pragma once
  10. class CIvrFlow;
  11. class CPduEntity;
  12. /*************************************************************************
  13. 【类名】 CIvrFlowHolder
  14. 【功能】 处理Pdu命令,处理底层设备事件
  15. 【接口说明】 IvrFlow主控制类
  16. 【开发者及日期】 郑石诺 2015/01/07
  17. 【版本】 V1.0.0
  18. 【版权信息】 Copyright (C)2015 河南华谊网络科技有限公司
  19. 【更改记录】
  20. *************************************************************************/
  21. class CIvrFlowHolder
  22. {
  23. SINGLETON_DECLARE(CIvrFlowHolder)
  24. public:
  25. ~CIvrFlowHolder(void);
  26. void createIvrFlow(int IvrFlowNum); // 创建IvrFlow
  27. void destroyIvrFlow(void); // 销毁IvrFlow
  28. // Ivr查找
  29. CIvrFlow* getFlowByIvrId(int IvrId); // 通过IVR编号获取ivrFlow
  30. CIvrFlow* getFlowByLineId(int LineId); // 通过线路号获取ivrFlow
  31. void onPduMessage(CPduEntity &PduEntity); // Pdu命令处理函数
  32. void onDevMessage(EventDevOperation &DevOpInfo); // 设备事件处理函数
  33. void onIvrDisconnect(void); // Ivr连接断开处理
  34. private:
  35. CIvrFlowHolder(void);
  36. // PDU命令处理
  37. void __procCallInReturn(CPduEntity &PduEntity); // 处理CallIn返回
  38. void __procTurnIvrReturn(CPduEntity &PduEntity); // 处理转Ivr返回
  39. void __transmitToIvrFlow(CPduEntity &PduEntity); // 将命令分发给相应的IVR
  40. // 处理底层设备操作信息
  41. void __procDevOpCallIn(EventDevOperation &DevOpInfo); // 处理底层设备外线呼入
  42. private:
  43. CMap<UINT, UINT, CIvrFlow*, CIvrFlow*> m_IvrFlowMap; // IVR流程存储哈希表 <流程ID, 流程对象>
  44. };