/************************************************************************* 【文件名】 TaskMgr.h 【功能模块和目的】 任务管理器类头文件 【开发者及日期】 郑石诺 2015/01/07 【版本】 V1.0.0 【版权信息】 Copyright (C)2015 河南华谊网络科技有限公司 【更改记录】 *************************************************************************/ #pragma once #include "IMsgObserver.h" class CTask; class CPduEntity; /************************************************************************* 【类名】 CTaskMgr 【功能】 管理CTI中所有任务 【接口说明】 【开发者及日期】 郑石诺 2015/01/07 【版本】 V1.0.0 【版权信息】 Copyright (C)2015 河南华谊网络科技有限公司 【更改记录】 *************************************************************************/ class CTaskMgr : public IMsgObserver { SINGLETON_DECLARE(CTaskMgr) public: ~CTaskMgr(void); void init(void); // 模块初始化 void uninit(void); void removeTask(long TaskId); // 移除Task CTask* findTask(long TaskId); // 查找Task void onPduMessage(CPduEntity &PduEntity); // Pdu命令处理接口 void onTaskPduMsg(UINT LineId, CPduEntity &PduEntity); // task命令处理 //////////////////////////////////////////////////////////////////////////////// //继承自IMsgObserver void onMessage(UINT MsgType, const PARAM lpContent); private: CTaskMgr(void); // Task管理函数 void __addTask(CTask* pTask); // 添加task void __onAgentLogin(CPduEntity &PduEntity); // 处理坐席签入命令 void __onAgentLogout(CPduEntity &PduEntity); // 处理坐席签入命令 void __onAgentReset(CPduEntity &PduEntity); // 处理坐席重置命令 void __onTaskFailed(CTask* pTask, CPduEntity &PduEntity); // DoTask调用失败 // 底层设备消息处理函数 void __procDevOpProcess(UINT EvtType, const PARAM lpContent); // 处理底层设备操作进展 void __procDevOpResult(UINT EvtType, const PARAM lpContent); // 处理底层线路操作返回 void __procDevOperator(UINT EvtType, const PARAM lpContent); // 处理底层设备主动操作事件 private: CCriticalSection m_TaskLock; CMap m_TaskTable; // 管理Task的结构 };