/************************************************************************* 【文件名】 NetworkAcd.h 【功能模块和目的】 ACD端网络控制类头文件 【开发者及日期】 郑石诺 2015/09/22 【版本】 V1.0.0 【版权信息】 Copyright (C)2015 河南华谊网络科技有限公司 【更改记录】 *************************************************************************/ #pragma once /************************************************************************* 【类名】 CNetworkAcd 【功能】 【接口说明】 ACD端网络控制类 【开发者及日期】 郑石诺 2015/09/22 【版本】 V1.0.0 【版权信息】 Copyright (C)2015 河南华谊网络科技有限公司 【更改记录】 *************************************************************************/ class CNetworkAcd : public IPduLinkProc, public IPduCommProc { SINGLETON_DECLARE(CNetworkAcd) public: CNetworkAcd(void); virtual ~CNetworkAcd(void); bool isCtiConnected() const { return m_IsCtiConnected; } // 获取CTI连接状态 bool init(void); // 初始化 void release(void); // 连接释放 bool send2Cti(CPduEntity* a_pPduEntity); bool send2Agent(int a_AgentId, CPduEntity* a_pPduEntity); bool getAgentLinkInfo(int a_AgentId, CString& a_AgentIp, int& a_AgentPort); bool shutDownAgentLink(int a_AgentId); bool getPduSource(CPduEntity* a_pCmd, CString& a_SourceIp); bool send2Server(CPduEntity* a_pPduEntity); //////////////////////////////////////////////////////////////////////////////// //继承自IPduLinkProc, IPduCommProc void OnLinkStateChanged(const PduLinkContent& linkContent); // PDU连接状态变化事件处理 void OnRecvCommand(CPduEntity* a_pPduEntity); // PDU命令到达事件处理 private: int m_CtiDevID; // CTI设备ID bool m_IsCtiConnected; // 连接与否 CCriticalSection m_Lock4CTi; };