MiddleWares_YiHe 郑州颐和医院随访系统中间件

TaskMgr.h 2.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. /*************************************************************************
  2. 【文件名】 TaskMgr.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 CTask;
  12. class CPduEntity;
  13. /*************************************************************************
  14. 【类名】 CTaskMgr
  15. 【功能】 管理CTI中所有任务
  16. 【接口说明】
  17. 【开发者及日期】 郑石诺 2015/01/07
  18. 【版本】 V1.0.0
  19. 【版权信息】 Copyright (C)2015 河南华谊网络科技有限公司
  20. 【更改记录】
  21. *************************************************************************/
  22. class CTaskMgr : public IMsgObserver
  23. {
  24. SINGLETON_DECLARE(CTaskMgr)
  25. public:
  26. ~CTaskMgr(void);
  27. void init(void); // 模块初始化
  28. void uninit(void);
  29. void removeTask(long TaskId); // 移除Task
  30. CTask* findTask(long TaskId); // 查找Task
  31. void onPduMessage(CPduEntity &PduEntity); // Pdu命令处理接口
  32. void onTaskPduMsg(UINT LineId, CPduEntity &PduEntity); // task命令处理
  33. ////////////////////////////////////////////////////////////////////////////////
  34. //继承自IMsgObserver
  35. void onMessage(UINT MsgType, const PARAM lpContent);
  36. private:
  37. CTaskMgr(void);
  38. // Task管理函数
  39. void __addTask(CTask* pTask); // 添加task
  40. void __onAgentLogin(CPduEntity &PduEntity); // 处理坐席签入命令
  41. void __onAgentLogout(CPduEntity &PduEntity); // 处理坐席签入命令
  42. void __onAgentReset(CPduEntity &PduEntity); // 处理坐席重置命令
  43. void __onTaskFailed(CTask* pTask, CPduEntity &PduEntity); // DoTask调用失败
  44. // 底层设备消息处理函数
  45. void __procDevOpProcess(UINT EvtType, const PARAM lpContent); // 处理底层设备操作进展
  46. void __procDevOpResult(UINT EvtType, const PARAM lpContent); // 处理底层线路操作返回
  47. void __procDevOperator(UINT EvtType, const PARAM lpContent); // 处理底层设备主动操作事件
  48. private:
  49. CCriticalSection m_TaskLock;
  50. CMap<LONG, LONG, CTask*, CTask*> m_TaskTable; // 管理Task的结构
  51. };