| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- /*************************************************************************
- 【文件名】 AcdCore.h
- 【功能模块和目的】 ACD系统核心控制类头文件
- 【开发者及日期】 郑石诺 2015/01/20
- 【版本】 V1.0.0
- 【版权信息】 Copyright (C)2015 河南华谊网络科技有限公司
- 【更改记录】
- *************************************************************************/
- #pragma once
- #include "ExtenCtrl.h"
- #include "AgentOffice.h"
- #include "QueueMgr.h"
- #include "SubjectRepository.h"
- #include "SoftAuther.h"
- class CAgent;
- class CExten;
- /*************************************************************************
- 【类名】 CAcdCore
- 【功能】
- 【接口说明】 ACD系统核心控制类
- 【开发者及日期】 郑石诺 2015/01/20
- 【版本】 V1.0.0
- 【版权信息】 Copyright (C)2015 河南华谊网络科技有限公司
- 【更改记录】
- *************************************************************************/
- class CAcdCore : public IMsgObserver
- {
- SINGLETON_DECLARE(CAcdCore)
- public:
- ~CAcdCore(void);
- bool stage1Start(void); // ACD一阶段启动
- bool stage2Start(void); // ACD二阶段启动
- void exit(void); // ACD系统退出
- void reloadAuther(); //授权刷新
- CExtenCtrl& getExtenCtrl(void) { return m_ExtenCtrl; }
- CAgentOffice& getAgentOffice(void) { return m_AgentOffice; }
- CQueueMgr& getQueueMgr(void) { return m_QueueMgr; }
- // 事件响应
- void onNetLinkDown(PduLinkContent linkContent); // 连接断开后续处理
- void onRecvCommand(CPduEntity* a_pPduEntity); // PDU命令到达事件处理
- // 继承自IMsgObserver
- void onMessage(UINT MsgType, const PARAM lpContent);
- private:
- CAcdCore(void);
- void __onAgentStateUpdated(UINT AgentId); // 座席状态变化事件响应
- void __onPhoneStateUpdated(UINT ExtenId); // 分机状态变化事件响应
- void __onQueueStateUpdated(UINT QueueNo); // 排队状态变化事件响应
- void __removeAgent(UINT AgentId, UINT ExtId, UINT HostAgent); // 关闭指定座席
- // 网络命令相关
- void __onCmdAgentReg(CPduEntity* a_pCmd); // 座席注册
- void __onCmdAgentDial(CPduEntity* a_pCmd); // 与呼叫相关的命令
- void __onCmdAgentLogin(CPduEntity* a_pCmd); // 座席签入
- void __onCmdAgentLogout(CPduEntity* a_pCmd); // 座席签出
- void __onCmdAgentSetState(CPduEntity* a_pCmd); // 主动设置座席状态
- void __onCmdAgentSubscribe(CPduEntity* a_pCmd); // 订阅管理
- void __onCmdAgentForceLogout(CPduEntity* a_pCmd); // 强制签出
- void __onCmdAgentMonControl(CPduEntity* a_pCmd); // 班长电话控制
- void __onCmdAgentForceState(CPduEntity* a_pCmd); // 强制座席状态控制
- void __onCmdCtiExtenInfo(CPduEntity* a_pCmd); // 内线分机状态变化
- void __onCmdCtiRecord(CPduEntity* a_pCmd); // CTI通知座席录音信息
- void __onCmdCtiDevCall(CPduEntity* a_pCmd); // CTI通知座席物理外呼
- void __onCmdCtiTrunkUsage(CPduEntity* a_pCmd); // CTI通知呼叫任务中继利用率
- void __onCmdIvrQueue(CPduEntity* a_pCmd); // 排队管理
- void __onCmdNeed2Forward(CPduEntity* a_pCmd); // 只需转发的命令
- void __onCmdDataSendToAgent(CPduEntity* a_pCmd); //向Agent转发当前通话中线路数量
- void __onCmdGetAgentList(CPduEntity* a_pCmd); // 获取坐席列表
- private:
- CExtenCtrl m_ExtenCtrl; // 内线分机管理类
- CAgentOffice m_AgentOffice; // 座席管理类
- CQueueMgr m_QueueMgr; // 来电排队管理类
- CSubjectRepository m_SubjectRepository; // 发布主题管理类
- SoftAuther m_Auther; //授权
- };
|