#include "StdAfx.h" #include "CfgTrunkMatch.h" CCfgTrunkMatch::CCfgTrunkMatch(void) { } CCfgTrunkMatch::~CCfgTrunkMatch(void) { __free(); } /***************************************************************** **【函数名称】 Free **【函数功能】 释放所有中继匹配信息 **【参数】 **【返回值】 ****************************************************************/ void CCfgTrunkMatch::__free( void ) { while(m_nCount > 0) { TRUNK_MATCH* pTrunk = RemoveHead(); ASSERT(pTrunk != NULL); delete pTrunk; } } /***************************************************************** **【函数名称】 load **【函数功能】 加载所有中继匹配信息 **【参数】 **【返回值】 ****************************************************************/ bool CCfgTrunkMatch::load( void ) { COtlRecordset* pMatchRcd = COtlConnection::GetOtlInstence()->QueryRecords(_T("SELECT id, prefix, caller, trunk_id, priority FROM conf_trunk_match ORDER BY id ASC")); if (NULL == pMatchRcd) return false; while(!pMatchRcd->IsEOF()) { TRUNK_MATCH* pMatch = new TRUNK_MATCH; ASSERT(pMatch != NULL); ZeroMemory(pMatch, sizeof(TRUNK_MATCH)); pMatchRcd->MoveNextRow(); pMatch->Id = pMatchRcd->GetValueIntByIndex(1); lstrcpy(pMatch->Prefix, pMatchRcd->GetValueStrByIndex(2)); lstrcpy(pMatch->Caller, pMatchRcd->GetValueStrByIndex(3)); pMatch->TrunkItemId = pMatchRcd->GetValueIntByIndex(4); pMatch->Priority = pMatchRcd->GetValueIntByIndex(5); AddTail(pMatch); } // end while COtlRecordset::DestroyInstance(pMatchRcd); // 释放记录集 return true; }