中间件标准版5.1git,去除基础模块

CfgTrunkMatch.cpp 1.5KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. #include "StdAfx.h"
  2. #include "CfgTrunkMatch.h"
  3. CCfgTrunkMatch::CCfgTrunkMatch(void)
  4. {
  5. }
  6. CCfgTrunkMatch::~CCfgTrunkMatch(void)
  7. {
  8. __free();
  9. }
  10. /*****************************************************************
  11. **【函数名称】 Free
  12. **【函数功能】 释放所有中继匹配信息
  13. **【参数】
  14. **【返回值】
  15. ****************************************************************/
  16. void CCfgTrunkMatch::__free( void )
  17. {
  18. while(m_nCount > 0)
  19. {
  20. TRUNK_MATCH* pTrunk = RemoveHead();
  21. ASSERT(pTrunk != NULL);
  22. delete pTrunk;
  23. }
  24. }
  25. /*****************************************************************
  26. **【函数名称】 load
  27. **【函数功能】 加载所有中继匹配信息
  28. **【参数】
  29. **【返回值】
  30. ****************************************************************/
  31. bool CCfgTrunkMatch::load( void )
  32. {
  33. COtlRecordset* pMatchRcd = COtlConnection::GetOtlInstence()->QueryRecords(_T("SELECT id, prefix, caller, trunk_id, priority FROM conf_trunk_match ORDER BY id ASC"));
  34. if (NULL == pMatchRcd)
  35. return false;
  36. while(!pMatchRcd->IsEOF())
  37. {
  38. TRUNK_MATCH* pMatch = new TRUNK_MATCH;
  39. ASSERT(pMatch != NULL);
  40. ZeroMemory(pMatch, sizeof(TRUNK_MATCH));
  41. pMatchRcd->MoveNextRow();
  42. pMatch->Id = pMatchRcd->GetValueIntByIndex(1);
  43. lstrcpy(pMatch->Prefix, pMatchRcd->GetValueStrByIndex(2));
  44. lstrcpy(pMatch->Caller, pMatchRcd->GetValueStrByIndex(3));
  45. pMatch->TrunkItemId = pMatchRcd->GetValueIntByIndex(4);
  46. pMatch->Priority = pMatchRcd->GetValueIntByIndex(5);
  47. AddTail(pMatch);
  48. } // end while
  49. COtlRecordset::DestroyInstance(pMatchRcd); // 释放记录集
  50. return true;
  51. }
  52. void CCfgTrunkMatch::unload()
  53. {
  54. __free();
  55. }