| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122 |
- #include "StdAfx.h"
- #include "DevLink.h"
- #include "MsgCenter.h"
- CDevLink::CDevLink(void) : m_pDevLink(NULL), m_LineExtNum(0), m_LineTrunkNum(0), m_FaxNum(0), m_VoipNum(0)
- {
- }
- CDevLink::~CDevLink(void)
- {
- }
- /*****************************************************************
- **【函数名称】 __onDevResourceDetail
- **【函数功能】 设备资源明细通知事件的处理函数
- **【参数】 pERD:事件内容
- **【返回值】
- ****************************************************************/
- void CDevLink::__onDevResourceDetail( EventResDetail* pERD )
- {
- ASSERT(pERD != NULL);
- switch(pERD->nResType)
- {
- case DEV_RES_TYPE_EXT: // 内线分机
- {
- UINT nExt = pERD->nResID;
- if (nExt & DEL_EXT_DETAIL)
- {
- m_LineExtNum--;
- }
- else
- {
- m_LineExtNum++;
- }
- }
- break;
- case DEV_RES_TYPE_TRUNK: // 外线
- {
- m_LineTrunkNum++;
- }
- break;
- case DEV_RES_TYPE_FAX:
- {
- m_FaxNum++; // 传真个数
- }
- break;
- case DEV_RES_TYPE_VOIP:
- {
- m_VoipNum++; // VOIP个数
- }
- break;
- default: // 未知线路类型
- break;
- } // end switch
- }
- /*****************************************************************
- **【函数名称】 onDeviceEvent
- **【函数功能】 设备事件的处理函数
- **【参数】 EvtType:事件类型
- Content:事件内容
- **【返回值】
- ****************************************************************/
- void CDevLink::onDeviceEvent( UINT EvtType, PARAM Content )
- {
- if(EvtType == DEV_EVENT_RES_DETAIL)
- __onDevResourceDetail((EventResDetail*)Content);
- CMsgCenter::GetInstance().pushMsg(EvtType, Content);
- }
- /*****************************************************************
- **【函数名称】 open
- **【函数功能】 打开与设备的连接
- **【参数】
- **【返回值】 成功true,失败false
- ****************************************************************/
- bool CDevLink::open( void )
- {
- IDeviceLink* pDevLink = &IDeviceLink::getInstance();
- if(pDevLink->open(this))
- {
- m_pDevLink = pDevLink;
- return true;
- }
- else return false;
- }
- /*****************************************************************
- **【函数名称】 close
- **【函数功能】 关闭与设备的连接
- **【参数】
- **【返回值】
- ****************************************************************/
- void CDevLink::close( void )
- {
- if(m_pDevLink != NULL)
- {
- m_pDevLink->close();
- m_pDevLink = NULL;
- }
- }
- /*****************************************************************
- **【函数名称】 exec
- **【函数功能】 设备控制接口
- **【参数】
- **【返回值】 成功true,失败false
- ****************************************************************/
- bool CDevLink::exec( LONG Instance, LINE_OP OpType, ULONG ResID, LineOpParam* pLineOpParam )
- {
- return m_pDevLink->operate(Instance, OpType, ResID, pLineOpParam);
- }
|