| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- /*************************************************************************
- 【文件名】 CellBase.h
- 【功能模块和目的】 节点基类头文件
- 【开发者及日期】 郑石诺 2015/01/24
- 【版本】 V1.0.0
- 【版权信息】 Copyright (C)2015 河南华谊网络科技有限公司
- 【更改记录】
- *************************************************************************/
- #pragma once
- class CIvrFlow;
- class IFlowDataProvider;
- /*************************************************************************
- 【类名】 CCellBase
- 【功能】
- 【接口说明】 节点基类
- 【开发者及日期】 郑石诺 2015/01/24
- 【版本】 V1.0.0
- 【版权信息】 Copyright (C)2015 河南华谊网络科技有限公司
- 【更改记录】
- *************************************************************************/
- class CCellBase
- {
- public:
- CCellBase(void);
- CCellBase(CCellBase& CellBase);
- virtual ~CCellBase(void) = 0 {}
- // 对外接口
- static CCellBase* createCell(const CString& a_Name);
- const CString& note(void) const { return m_Note; } // 获取Cell描述
- int position(void) const { return m_Pos; } // 获取节点编号
- CIvrFlow*& assoIvrFlow(void) { return m_pIvrFlow; } // 保存关联的流程指针
- ULONG assoCallID(void); // 返回关联CallID
- virtual int onOpResultReturn(CPduEntity *a_pPduEntity) { return CELL_OP_ERROR; } // 处理返回命令
- virtual void onSubFLowEnd(void) { }
- virtual LPCTSTR name(void) const = 0; // 获取Cell名称
- virtual int operate(void) = 0; // 执行Cell
- virtual CCellBase * copy(void) = 0; // Cell拷贝
- virtual bool fillData(IFlowDataProvider& Provider) = 0; // Cell解析
- virtual int maxWaitingTime(void) const = 0; // 避免流程吊死的最大等待间隔,以秒为单位
- protected:
- void _getCellInfo(CString& InfoBuffer); // 获取Cell信息
- protected:
- int m_Pos; // 在一个流程文件中的编号
- CString m_Note; // 在IVR流程文件中的标题
- CIvrFlow* m_pIvrFlow; // 流程指针
- };
|