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

NetworkCti.h 2.1KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. /*************************************************************************
  2. 【文件名】 NetworkCti.h
  3. 【功能模块和目的】 CTI端网络控制类头文件
  4. 【开发者及日期】 郑石诺 2015/01/07
  5. 【版本】 V1.0.0
  6. 【版权信息】 Copyright (C)2015 河南华谊网络科技有限公司
  7. 【更改记录】
  8. *************************************************************************/
  9. #pragma once
  10. #include "IMsgObserver.h"
  11. /*************************************************************************
  12. 【类名】 CNetworkCti
  13. 【功能】 控制CTI端网络数据收发和连接状态
  14. 【接口说明】
  15. 【开发者及日期】 郑石诺 2015/01/07
  16. 【版本】 V1.0.0
  17. 【版权信息】 Copyright (C)2015 河南华谊网络科技有限公司
  18. 【更改记录】
  19. *************************************************************************/
  20. class CNetworkCti : public IPduLinkProc, public IPduCommProc
  21. {
  22. SINGLETON_DECLARE(CNetworkCti)
  23. public:
  24. ~CNetworkCti(void);
  25. BOOL init(void); // 初始化Socket服务器端
  26. void release(void);
  27. BOOL send2ACD(CPduEntity& a_PduEntity); // 发送命令到ACD
  28. BOOL send2IVR(CPduEntity& a_PduEntity); // 发送命令到IVR
  29. BOOL isIVRConnected() const { return m_IsIvrConnected; } // 获取IVR连接状态
  30. BOOL isACDConnected() const { return m_IsAcdConnected; } // 获取ACD连接状态
  31. ////////////////////////////////////////////////////////////////////////////////
  32. //继承自IPduLinkProc,IPduCommProc,IMsgObserver
  33. void OnLinkStateChanged(const PduLinkContent& linkContent); // PDU连接状态变化事件处理
  34. void OnRecvCommand(CPduEntity* a_pPduEntity); // PDU命令到达事件处理接口
  35. private:
  36. CNetworkCti(void);
  37. void __procRegMsg(CPduEntity& a_PduEntity); // 注册命令处理
  38. void __onRegSuccess(const PduLinkContent& linkContent); // 设备注册成功
  39. void __onDisconnect(const PduLinkContent& linkContent); // 设备连接断开
  40. private:
  41. struct DevInfo
  42. {
  43. CHAR szIpAddress[PDU_IP_LEN]; // 设备IP地址
  44. int Port; // 设备端口号
  45. int DevId; // 设备Id(-1代表连接设备不存在)
  46. };
  47. DevInfo m_DevAcd; // ACD设备信息
  48. DevInfo m_DevIvr; // IVR设备信息
  49. BOOL m_IsAcdConnected; // ACD连接状态
  50. BOOL m_IsIvrConnected; // IVR连接状态
  51. };