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

Task.h 1.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. /*************************************************************************
  2. 【文件名】 Task.h
  3. 【功能模块和目的】 Task基类头文件
  4. 【开发者及日期】 郑石诺 2015/01/15
  5. 【版本】 V1.0.0
  6. 【版权信息】 Copyright (C)2015 河南华谊网络科技有限公司
  7. 【更改记录】
  8. *************************************************************************/
  9. #pragma once
  10. class CLogicLine;
  11. /*************************************************************************
  12. 【类名】 CTask
  13. 【功能】
  14. 【接口说明】 Task基类
  15. 【开发者及日期】 郑石诺 2015/01/15
  16. 【版本】 V1.0.0
  17. 【版权信息】 Copyright (C)2015 河南华谊网络科技有限公司
  18. 【更改记录】
  19. *************************************************************************/
  20. class CTask
  21. {
  22. public:
  23. CTask(EventDevOperation &DevOpInfo); // 设备产生的Task
  24. CTask(CPduEntity &PduEntity); // PDU命令产生的Task
  25. virtual ~CTask(void);
  26. virtual CString Name(void) const = 0; // 任务名称
  27. int GetAssoLineId(); // 获取Task关联线路Id
  28. virtual BOOL OnDevOpResult(EventOpResult &EvtInfo); // 底层线路操作结果
  29. virtual void OnDevOpProcess(EventOpProcess &EvtInfo); // 底层线路操作进展
  30. virtual BOOL OnCmdOperation(CPduEntity &PduEntity); // Task命令处理
  31. virtual BOOL DoTask() = 0; // 任务处理
  32. protected:
  33. bool _bindLogicLine(UINT LineId); // 绑定逻辑线路
  34. void _freeLogicLine(void); // 释放逻辑线路
  35. void _PrcoCallNode(UINT HostLine, UINT AssoLine,bool isTransfer=false); // 处理添加会话
  36. void _ProcCmdReturn(BOOL Result, bool FreeRes = false); // 处理命令返回, FreeRes参数可以尽早释放所占线路,以免较慢的线路释放无法满足过快的IVR流程
  37. protected:
  38. CPduEntity m_CurrCmd; // Task当前命令
  39. EventDevOperation m_CurrDevOp; // Task当前设备操作信息
  40. CLogicLine *m_pCurrLine; // Task关联的线路类指针
  41. ULONG m_TaskCallId; // Task当前CallId
  42. };