| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- /*************************************************************************
- 【文件名】 Operation.h
- 【功能模块和目的】 设备操作基类头文件
- 【开发者及日期】 郑石诺 2016/08/01
- 【版本】 V1.0.0
- 【版权信息】 Copyright (C)2016 河南华谊网络科技有限公司
- 【更改记录】
- *************************************************************************/
- #pragma once
- class CVirtualChan;
- class COperationReactor;
- /*************************************************************************
- 【类名】 COperation
- 【功能】
- 【接口说明】 设备操作基类
- 【开发者及日期】 郑石诺 2016/08/01
- 【版本】 V1.0.0
- 【版权信息】 Copyright (C)2016 河南华谊网络科技有限公司
- 【更改记录】
- *************************************************************************/
- class COperation
- {
- public:
- COperation(COperationReactor* pParent, LONG Instance);
- virtual ~COperation(void);
- virtual LINE_OP type(void) const = 0;
- LONG uniqueId(void) const { return reinterpret_cast<LONG>(this); }
- // 关联操作
- virtual bool attachHostChan(CVirtualChan* pChan); // 设置主控通道的关联
- virtual void detachHostChan(void); // 取消通道关联
- // 控制接口
- virtual bool start(LineOpParam* pParam) = 0; // 操作启动(命令方式)
- virtual bool start(PCHAN_EVENT_NOTIFY pNotify); // 操作启动(命令方式)
- virtual bool cancel(LONG InstanceCancel); // 取消当前操作
- virtual bool hangup(LONG InstanceHangup); // 操作中挂机
- virtual bool next(LONG Instance); // 执行下一步操作
- virtual void setOpInstance(LONG Instance); // 设置调用标识
- virtual void clean();
- // 事件响应接口
- virtual void onHostChanDtmf(LPCTSTR Dtmf); // 关联通道DTMF处理
- virtual void onBackgroudJobDone(PBG_JOB_NOTIFY pNotify); // 后台命令执行结束事件处理
- virtual void onAssoChanStateUpdated(CVirtualChan* pAssoChan); // 相关通道状态更新处理
- virtual void onHostChanStateUpdated(CVirtualChan* pHostChan); // 关联通道状态更新处理
- virtual void onSessionChanStateUpdated(CVirtualChan* pChan); // 同会话中通道状态更新处理
- virtual void onChanAppExecuted(CVirtualChan* pHostChan, PAPP_EXEC_NOTIFY pNotify); // 通道任务执行结束事件处理
- protected:
- virtual void _end(bool IsSucceed) = 0; // 操作完成(注:此操作之后只能调用 return 语句)
- protected:
- COperationReactor* m_pParent; // 宿主类
- CVirtualChan* m_pHostChan; // 当前操作的主控通道
- LONG m_Instance; // 调用标识,用于回传
- LONG m_InstanceCancel; // 启动取消操作的调用标识
- };
|