| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- /*************************************************************************
- 【文件名】 VsControl.h
- 【功能模块和目的】 VS交互控制类头文件
- 【开发者及日期】 郑石诺 2016/03/24
- 【版本】 V1.0.0
- 【版权信息】 Copyright (C)2016 河南华谊网络科技有限公司
- 【更改记录】
- *************************************************************************/
- #pragma once
- /*************************************************************************
- 【类名】 CVsControl
- 【功能】
- 【接口说明】 VS交互控制类
- 【开发者及日期】 郑石诺 2016/03/24
- 【版本】 V1.0.0
- 【版权信息】 Copyright (C)2016 河南华谊网络科技有限公司
- 【更改记录】
- *************************************************************************/
- class CVsControl : public IPduCommProc, public IPduLinkProc
- {
- SINGLETON_DECLARE(CVsControl)
- public:
- ~CVsControl(void);
- // 初始化操作
- bool init(void);
- void release(void);
- bool isVsVocOnline(void) const { return m_VsDevVoc != CONST_DEV_ID_INVALID; }
- bool isVsRecOnline(void) const { return m_VsDevRec != CONST_DEV_ID_INVALID; }
- bool isVsFaxOnline(void) const { return m_VsDevFax != CONST_DEV_ID_INVALID; }
- bool sendCmd2Rec(CPduEntity* pCmd); // 发送命令到录音VS
- bool sendCmd2Voc(CPduEntity* pCmd); // 发送命令到放音VS
- bool sendCmd2Fax(CPduEntity* pCmd); // 发送命令到传真VS
- bool notifyLineFree(UINT LineId, DEV_RES_TYPE LineType); // 通知VS线路释放
- // SOCKET管理
- virtual void OnRecvCommand(CPduEntity* a_pPduEntity); // PDU命令到达事件处理
- virtual void OnLinkStateChanged(const PduLinkContent& linkContent); // PDU连接状态变化事件处理
- private:
- CVsControl(void);
- // PDU命令执行结果处理
- void __procCmdReg(CPduEntity* pCmd);
- void __procCmdPlayDtmf(CPduEntity* pCmd);
- void __procCmdFax(CPduEntity* pCmd);
- void __procCmdLeaveWord(CPduEntity* pCmd);
- private:
- int m_VsDevVoc; // 放音VS设备标识
- int m_VsDevRec; // 录音VS设备标识
- int m_VsDevFax; // 传真VS设备标识
- };
|