/************************************************************************* 【文件名】 IvrFlow.h 【功能模块和目的】 CIvrFlow类头文件 【开发者及日期】 郑石诺 2015/01/10 【版本】 V1.0.0 【版权信息】 Copyright (C)2015 河南华谊网络科技有限公司 【更改记录】 *************************************************************************/ #pragma once class CPduEntity; /************************************************************************* 【类名】 CIvrFlow 【功能】 1.处理或转发Pdu命令 2.处理设备事件 【接口说明】 【开发者及日期】 郑石诺 2015/01/10 【版本】 V1.0.0 【版权信息】 Copyright (C)2015 河南华谊网络科技有限公司 【更改记录】 *************************************************************************/ class CIvrFlow { public: CIvrFlow(int FlowId); ~CIvrFlow(void); void resetFlow(); // IVR流程重置 int assoLineId() const { return m_LineId; } // 获取绑定的线路ID int& assoLineId() { return m_LineId; } void procLineHangUp(); // 处理线路挂机 void onPduMessage(CPduEntity &PduEntity); // Pdu命令处理接口 private: void __transmitToTask(CPduEntity &PduEntity); // 转发Task处理命令 void __procCallInReturn(CPduEntity &PduEntity); // CallIn命令返回 void __procTurnIvrReturn(CPduEntity &PduEntity); // 转Ivr命令返回 void __procWantAgent(CPduEntity &PduEntity); // 请求排队命令 void __procContinueQuene(CPduEntity &PduEntity); // 继续排队命令 void __procCancelQuene(CPduEntity &PduEntity); // 取消排队 private: int m_IvrFlowId; // IvrFlow号码 int m_LineId; // 关联线路Id bool m_IsQuene; // 是否外线排队 };