中间件底层,websocket

LineHolder.h 1.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. /*************************************************************************
  2. 【文件名】 LineHolder.h
  3. 【功能模块和目的】 线路管理类头文件
  4. 【开发者及日期】 郑石诺 2015/01/07
  5. 【版本】 V1.0.0
  6. 【版权信息】 Copyright (C)2015 河南加一信息技术有限公司
  7. 【更改记录】
  8. *************************************************************************/
  9. #pragma once
  10. #include "IMsgObserver.h"
  11. class CLogicLine;
  12. /*************************************************************************
  13. 【类名】 CLineHolder
  14. 【功能】 管理CTI中所有逻辑线路
  15. 【接口说明】
  16. 【开发者及日期】 郑石诺 2015/01/07
  17. 【版本】 V1.0.0
  18. 【版权信息】 Copyright (C)2015 河南加一信息技术有限公司
  19. 【更改记录】
  20. *************************************************************************/
  21. class CLineHolder : public IMsgObserver
  22. {
  23. SINGLETON_DECLARE(CLineHolder)
  24. public:
  25. ~CLineHolder(void);
  26. void init(void); // 模块初始化
  27. void uninit(void);
  28. CLogicLine* getLogicLine(UINT LineId); // 获取线路类指针
  29. UINT getLineAssoAgentId(UINT LineId); // 读取内线关联的座席工号
  30. void onAcdConnected(void); // ACD连接成功处理
  31. ////////////////////////////////////////////////////////////////////////////////
  32. //继承自IMsgObserver
  33. void onMessage(UINT MsgType, const PARAM lpContent);
  34. private:
  35. CLineHolder(void);
  36. void __deleteExten(UINT ExtId);
  37. void __procResDetail(const EventResDetail &EvtInfo); // 处理资源类型明细
  38. void __procResStatus(const EventResStatus &EvtInfo); // 处理资源状态变化
  39. void __procTrunkNum(int trunkCallIn, int makeCallCount, int extRingCount);
  40. private:
  41. CMap<UINT, UINT, CLogicLine*, CLogicLine*> m_LineMap; // 管理线路的容器
  42. };