| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- /*************************************************************************
- 【文件名】 FlowTemplate.h
- 【功能模块和目的】 流程模板类头文件
- 【开发者及日期】 郑石诺 2015/01/27
- 【版本】 V1.0.0
- 【版权信息】 Copyright (C)2015 河南华谊网络科技有限公司
- 【更改记录】
- *************************************************************************/
- #pragma once
- class IFlowDataProvider;
- class CCellBase;
- /*************************************************************************
- 【类名】 CFlowTemplate
- 【功能】
- 【接口说明】 流程模板类
- 【开发者及日期】 郑石诺 2015/01/27
- 【版本】 V1.0.0
- 【版权信息】 Copyright (C)2015 河南华谊网络科技有限公司
- 【更改记录】
- *************************************************************************/
- class CFlowTemplate
- {
- public:
- CFlowTemplate(void);
- ~CFlowTemplate(void);
- FlowType type(void) const { return m_Type; }
- const CString& name(void) const { return m_Name; }
- int concurrency(void) const { return m_Concurrency; }
-
- bool fillData(IFlowDataProvider& Provider); // 解析流程文件为数据字段赋值
- void accept(int CellPos, CCellBase* pCell); // 填充cell map
- int getCellPos(const CString& CellName); // 根据节点名称获取节点编号
- CCellBase* findCell(int CellPos); // 根据Cell节点号获取Cell
- int matchLine(UINT TrunkId); // 匹配线路0:不匹配;1:匹配;-1为默认流程
- bool matchCaller(LPCTSTR Caller); // 根据主叫号码分析流程的适用性
- bool isMatchedPreCall(void) const; // 是否匹配预测呼叫
- private:
- void __release(void); // 释放所有cell
- private:
- FlowType m_Type; // 流程类型
- int m_Concurrency; // 并发量
- CString m_Name; // 流程名字
- CString m_MatchedNum; // 当前流程匹配的被叫号码
- CString m_MatchedLine; // 当前流程关联的外线ID列表,以 | 进行分隔, -1 表示本流程为默认流程
- CMap<int, int, CCellBase*, CCellBase*> m_CellMap; // cell链表
- };
|