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