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

IvrCore.h 1.7KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. /*************************************************************************
  2. 【文件名】 IvrCore.h
  3. 【功能模块和目的】 IVR系统核心控制类头文件
  4. 【开发者及日期】 郑石诺 2015/01/29
  5. 【版本】 V1.0.0
  6. 【版权信息】 Copyright (C)2015 河南华谊网络科技有限公司
  7. 【更改记录】
  8. *************************************************************************/
  9. #pragma once
  10. #include "FlowTemplateMgr.h"
  11. #include "IvrFlowMgr.h"
  12. /*************************************************************************
  13. 【类名】 CIvrCore
  14. 【功能】
  15. 【接口说明】 IVR系统核心控制类
  16. 【开发者及日期】 郑石诺 2015/01/29
  17. 【版本】 V1.0.0
  18. 【版权信息】 Copyright (C)2015 河南华谊网络科技有限公司
  19. 【更改记录】
  20. *************************************************************************/
  21. class CIvrCore
  22. {
  23. SINGLETON_DECLARE(CIvrCore)
  24. public:
  25. ~CIvrCore(void);
  26. bool stage1Start(void); // IVR1阶段启动
  27. bool stage2Start(void); // IVR2阶段启动
  28. void exit(void); // IVR系统退出
  29. void procPdu(CPduEntity* pPduEntity); // 处理PDU
  30. void onNetLinkUpdated(bool IsConnect); // 网络连接状态改变的处理函数
  31. CFlowTemplateMgr& flowTemplateMgr(void) { return m_TemplateMgr; }
  32. CIvrFlowMgr& ivrFLowMgr(void) { return m_FlowMgr; }
  33. int GetCurrPos(CIvrFlow* pFlow) {return m_FlowMgr.GetCurrIvrPos(pFlow);}
  34. private:
  35. CIvrCore(void);
  36. bool __setupFlowEnvironment(void); // 设置流程环境
  37. void __procMsgCtiCallIn(CPduEntity* pPduEntity); // CTI通知IVR外线来电
  38. void __procMsgCtiPredictiveCall(CPduEntity* pPduEntity);// CTI通知IVR自动外呼
  39. void __procMsgCtiTurnIvr(CPduEntity* pPduEntity); // CTI通知IVR转IVR
  40. void __procMsgCtiHangup(CPduEntity* pPduEntity); // CTI通知IVR外线挂机
  41. private:
  42. CFlowTemplateMgr m_TemplateMgr;
  43. CIvrFlowMgr m_FlowMgr;
  44. };