| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- /*************************************************************************
- 【文件名】 SubSession.h
- 【功能模块和目的】 子会话处理类基类头文件
- 【开发者及日期】 郑石诺 2015/03/31
- 【版本】 V1.0.0
- 【版权信息】 Copyright (C)2015 河南华谊网络科技有限公司
- 【更改记录】
- *************************************************************************/
- #pragma once
- class CCallSession;
- /*************************************************************************
- 【类名】 CSubSession
- 【功能】
- 【接口说明】 子会话处理类基类
- 【开发者及日期】 郑石诺 2015/03/31
- 【版本】 V1.0.0
- 【版权信息】 Copyright (C)2015 河南华谊网络科技有限公司
- 【更改记录】
- *************************************************************************/
- class CSubSession
- {
- public:
- CSubSession(CCallSession* pParent, long SubId, PendingCallInfo* pInfo);
- virtual ~CSubSession(void);
- // 操作处理
- virtual bool begin(CALL_PARTY_TYPE HostLineParty); // 操作启动
- virtual bool resume(UINT Type) { return false; } // 操作暂停后继续处理
- virtual bool replace(CRDRID HostLine, CRDRID PeerLine, UINT ExtNum); // 被叫线路替换
- virtual void onHostLineStateFree(void) {}
- virtual void onPeerLineStateFree(void) {}
- // 待处理线路状态变化
- void onPendingLineState(VIRTUAL_LINE_STATE LineState);
- // 获取子呼叫的关联线路
- CRDRID getSubPeerLine(void) { return m_pInfo->nAssoLine; }
- // 获取子呼叫的主控线路
- CRDRID getSubHostLine(void) { return m_pInfo->nHostLine; }
- protected:
- // 重载方法
- virtual void _onDialOK(void) = 0; // 呼叫成功处理
- virtual void _onDialCancel(void) = 0; // 呼叫取消处理
- virtual void _onDialRing(void) = 0; // 呼叫振铃处理
- virtual void _onDialProgressing(void) {} // 呼叫进展处理
- protected:
- // 基础属性
- CCallSession* m_pParent; // 当前呼叫所属的主呼叫
- const long m_Id; // 当前呼叫的ID
- CALL_PARTY_TYPE m_HostLineParty; // 主控线路在上级会话中的职责
- // 逻辑属性
- PendingCallInfo* m_pInfo; // 呼叫信息
- };
|