#include "StdAfx.h" #include "CfgTrunkItem.h" #include "DBCtrl.h" CCfgTrunkItem::CCfgTrunkItem(void) { } CCfgTrunkItem::~CCfgTrunkItem(void) { __free(); } /***************************************************************** **【函数名称】 __free **【函数功能】 释放所有中继项信息 **【参数】 **【返回值】 ****************************************************************/ void CCfgTrunkItem::__free( void ) { while(m_nCount > 0) { TRUNK_ITEM* pTrunk = RemoveHead(); ASSERT(pTrunk != NULL); delete pTrunk; } } /***************************************************************** **【函数名称】 load **【函数功能】 加载所有中继项信息 **【参数】 **【返回值】 ****************************************************************/ bool CCfgTrunkItem::load( void ) { IOtlRecordset* pTrunkRcd = IOtlConnection::getInstance()->QueryRecords(_T("SELECT id, node, board, span, sip_user FROM conf_trunk_item ORDER BY id ASC")); if (NULL == pTrunkRcd) return false; while(!pTrunkRcd->IsEOF()) { TRUNK_ITEM* pTrunk = new TRUNK_ITEM; ASSERT(pTrunk != NULL); ZeroMemory(pTrunk, sizeof(TRUNK_ITEM)); pTrunkRcd->MoveNextRow(); pTrunk->Id = pTrunkRcd->GetValueIntByIndex(1); pTrunk->Node = pTrunkRcd->GetValueIntByIndex(2); pTrunk->Board = pTrunkRcd->GetValueIntByIndex(3); pTrunk->Span = pTrunkRcd->GetValueIntByIndex(4); pTrunk->SipAccountId = pTrunkRcd->GetValueIntByIndex(5); AddTail(pTrunk); } // end while IOtlRecordset::DestroyInstance(pTrunkRcd); // 释放记录集 return true; } /***************************************************************** **【函数名称】 getTrunkItem **【函数功能】 获取指定中继项信息 **【参数】 **【返回值】 ****************************************************************/ TRUNK_ITEM* CCfgTrunkItem::getTrunkItem( int ItemId ) { CNode* pNodeCur = m_pNodeHead; while(pNodeCur != NULL) { TRUNK_ITEM* pItem = pNodeCur->data; ASSERT(pItem != NULL); if(pItem->Id == ItemId) return pItem; pNodeCur = pNodeCur->pNext; } return NULL; }