// ViewExten.cpp : 实现文件 // #include "stdafx.h" #include "ViewExten.h" // CViewExten IMPLEMENT_DYNAMIC(CViewExten, CViewResBase) CViewExten::CViewExten() { } CViewExten::~CViewExten() { } BEGIN_MESSAGE_MAP(CViewExten, CViewResBase) END_MESSAGE_MAP() /***************************************************************** **【函数名称】 _mapStateToString **【函数功能】 把资源状态装换为CString类型 **【参数】 **【返回值】 ****************************************************************/ void CViewExten::_mapStateToString( UINT State, CString& StrState ) { switch(State & HELD_STATE_FILTER_MASK) { case INNER_STATE_DISABLED: StrState = _T("不可用"); break; case INNER_STATE_FREE: StrState = _T("空闲"); break; case INNER_STATE_ALERTING: StrState = _T("来电振铃"); break; case INNER_STATE_RING_BACK: StrState = _T("呼出振铃"); break; case INNER_STATE_INIT: StrState = _T("摘机"); break; case INNER_STATE_DIALING: StrState = _T("拨号中"); break; case INNER_STATE_TALKING: StrState = _T("通话中"); break; default: StrState = _T("未知占用"); } // 是否存在保持状态 if((State & HELD_STATE_IND_MASK) == INNER_STATE_HELD) StrState = _T("保持/") + StrState; } /***************************************************************** **【函数名称】 onResDetail **【函数功能】 资源明细的处理函数 **【参数】 **【返回值】 ****************************************************************/ void CViewExten::onResDetail( EventResDetail *pResDetail ) { ASSERT(pResDetail != NULL); UINT ResId = pResDetail->nResID; int Index = -1; // 判断增加删除 if (ResId & DEL_EXT_DETAIL) { // 去掉首位 ResId = ResId << 4; ResId = ResId >> 4; _delRes(ResId); } else { if (_indexItem(ResId) == -1) _addRes(ResId); } } /***************************************************************** **【函数名称】 onResState **【函数功能】 资源状态处理函数 **【参数】 **【返回值】 ****************************************************************/ void CViewExten::onResState( EventResStatus *pResStatus ) { ASSERT(pResStatus != NULL); // 删除状态,则删除指定分机 if(pResStatus->nState == INNER_STATE_REMOVE) _delRes(pResStatus->nResID); else __super::onResState(pResStatus); }