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

AcdCore.h 3.0KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. /*************************************************************************
  2. 【文件名】 AcdCore.h
  3. 【功能模块和目的】 ACD系统核心控制类头文件
  4. 【开发者及日期】 郑石诺 2015/01/20
  5. 【版本】 V1.0.0
  6. 【版权信息】 Copyright (C)2015 河南华谊网络科技有限公司
  7. 【更改记录】
  8. *************************************************************************/
  9. #pragma once
  10. #include "ExtenCtrl.h"
  11. #include "AgentOffice.h"
  12. #include "QueueMgr.h"
  13. #include "SubjectRepository.h"
  14. class CAgent;
  15. class CExten;
  16. /*************************************************************************
  17. 【类名】 CAcdCore
  18. 【功能】
  19. 【接口说明】 ACD系统核心控制类
  20. 【开发者及日期】 郑石诺 2015/01/20
  21. 【版本】 V1.0.0
  22. 【版权信息】 Copyright (C)2015 河南华谊网络科技有限公司
  23. 【更改记录】
  24. *************************************************************************/
  25. class CAcdCore : public IMsgObserver
  26. {
  27. SINGLETON_DECLARE(CAcdCore)
  28. public:
  29. ~CAcdCore(void);
  30. bool stage1Start(void); // ACD一阶段启动
  31. bool stage2Start(void); // ACD二阶段启动
  32. void exit(void); // ACD系统退出
  33. CExtenCtrl& getExtenCtrl(void) { return m_ExtenCtrl; }
  34. CAgentOffice& getAgentOffice(void) { return m_AgentOffice; }
  35. CQueueMgr& getQueueMgr(void) { return m_QueueMgr; }
  36. // 事件响应
  37. void onNetLinkDown(PduLinkContent linkContent); // 连接断开后续处理
  38. void onRecvCommand(CPduEntity* a_pPduEntity); // PDU命令到达事件处理
  39. // 继承自IMsgObserver
  40. void onMessage(UINT MsgType, const PARAM lpContent);
  41. private:
  42. CAcdCore(void);
  43. void __onAgentStateUpdated(UINT AgentId); // 座席状态变化事件响应
  44. void __onPhoneStateUpdated(UINT ExtenId); // 分机状态变化事件响应
  45. void __onQueueStateUpdated(UINT QueueNo); // 排队状态变化事件响应
  46. void __removeAgent(UINT AgentId, UINT ExtId, UINT HostAgent); // 关闭指定座席
  47. // 网络命令相关
  48. void __onCmdAgentReg(CPduEntity* a_pCmd); // 座席注册
  49. void __onCmdAgentDial(CPduEntity* a_pCmd); // 与呼叫相关的命令
  50. void __onCmdAgentLogin(CPduEntity* a_pCmd); // 座席签入
  51. void __onCmdAgentLogout(CPduEntity* a_pCmd); // 座席签出
  52. void __onCmdAgentSetState(CPduEntity* a_pCmd); // 主动设置座席状态
  53. void __onCmdAgentSubscribe(CPduEntity* a_pCmd); // 订阅管理
  54. void __onCmdAgentForceLogout(CPduEntity* a_pCmd); // 强制签出
  55. void __onCmdAgentMonControl(CPduEntity* a_pCmd); // 班长电话控制
  56. void __onCmdAgentForceState(CPduEntity* a_pCmd); // 强制座席状态控制
  57. void __onCmdCtiExtenInfo(CPduEntity* a_pCmd); // 内线分机状态变化
  58. void __onCmdCtiRecord(CPduEntity* a_pCmd); // CTI通知座席录音信息
  59. void __onCmdCtiDevCall(CPduEntity* a_pCmd); // CTI通知座席物理外呼
  60. void __onCmdCtiTrunkUsage(CPduEntity* a_pCmd); // CTI通知呼叫任务中继利用率
  61. void __onCmdIvrQueue(CPduEntity* a_pCmd); // 排队管理
  62. void __onCmdNeed2Forward(CPduEntity* a_pCmd); // 只需转发的命令
  63. private:
  64. CExtenCtrl m_ExtenCtrl; // 内线分机管理类
  65. CAgentOffice m_AgentOffice; // 座席管理类
  66. CQueueMgr m_QueueMgr; // 来电排队管理类
  67. CSubjectRepository m_SubjectRepository; // 发布主题管理类
  68. };