| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- /*************************************************************************
- 【文件名】 VirtualChan.h
- 【功能模块和目的】 虚拟通道基类头文件
- 【开发者及日期】 郑石诺 2016/07/13
- 【版本】 V1.0.0
- 【版权信息】 Copyright (C)2016 河南华谊网络科技有限公司
- 【更改记录】
- *************************************************************************/
- #pragma once
- class CFsProxy;
- class COperation;
- /*************************************************************************
- 【类名】 CVirtualChan
- 【功能】
- 【接口说明】 虚拟通道基类
- 【开发者及日期】 郑石诺 2016/07/13
- 【版本】 V1.0.0
- 【版权信息】 Copyright (C)2016 河南华谊网络科技有限公司
- 【更改记录】
- *************************************************************************/
- class CVirtualChan
- {
- public:
- CVirtualChan(CFsProxy* pParent, UINT ChanNo);
- virtual ~CVirtualChan(void);
- UINT no(void) const { return m_No; }
- CHAN_LOGIC_STATE state(void) const { return m_State; }
- bool isInMeeting(void) const { return m_IsInMeeting; }
- bool& isInMeeting(void) { return m_IsInMeeting; }
- COperation* currOp(void) const { return m_pOperation; }
- LPCTSTR chanId(void) const { return m_ChanId; }
- LPCTSTR sessionId(void) const { return m_SessionId; }
- LPCTSTR callerNum(void) const { return m_CallerNum; }
- LPCTSTR calleeNum(void) const { return m_CalleeNum; }
- LPCTSTR opNumber(void) const { return m_OpNumber; }
- CString& opNumber(void) { return m_OpNumber; }
- bool bindOp(COperation* pOp);
- bool releaseOp(COperation* pOp);
- // 待实现接口
- virtual DEV_RES_TYPE type(void) const = 0; // 通道类型
- virtual bool isFree(void) const = 0;
- virtual bool isVoid(void) const = 0;
- virtual void regist(void) const = 0;
- virtual void onChanDtmf(LPCTSTR Dtmf);
- virtual void onChanHold(EVENT_HOLD_TYPE HoldType);
- virtual void onChanEvent(PCHAN_EVENT_NOTIFY pNotify) = 0;
- virtual void onSessionChanEvent(CVirtualChan* pChanSession, PCHAN_EVENT_NOTIFY pNotify) = 0;
- protected:
- void _setSession(LPCTSTR SessionId, LPCTSTR ChanId);
- void _reset(void);
- protected:
- CFsProxy* m_pParent; // 宿主类
- UINT m_No; // 通道号
- CHAN_LOGIC_STATE m_State; // 状态
- bool m_IsInMeeting; // 是否在会议中
- COperation* m_pOperation; // 关联操作
- CString m_CallerNum; // 主叫号码
- CString m_CalleeNum; // 被叫号码
- CString m_OpNumber; // 通道操作号码
- private:
- CString m_ChanId; // 通道动态ID
- CString m_SessionId; // 会话ID
- };
|