升龙物业 老版本 ocx IPO, 加密狗 转值班电话

CfgTrunkItem.cpp 2.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. #include "StdAfx.h"
  2. #include "CfgTrunkItem.h"
  3. #include "../DBCtrl/DBCtrl.h"
  4. CCfgTrunkItem::CCfgTrunkItem(void)
  5. {
  6. }
  7. CCfgTrunkItem::~CCfgTrunkItem(void)
  8. {
  9. __free();
  10. }
  11. /*****************************************************************
  12. **【函数名称】 __free
  13. **【函数功能】 释放所有中继项信息
  14. **【参数】
  15. **【返回值】
  16. ****************************************************************/
  17. void CCfgTrunkItem::__free( void )
  18. {
  19. while(m_nCount > 0)
  20. {
  21. TRUNK_ITEM* pTrunk = RemoveHead();
  22. ASSERT(pTrunk != NULL);
  23. delete pTrunk;
  24. }
  25. }
  26. /*****************************************************************
  27. **【函数名称】 load
  28. **【函数功能】 加载所有中继项信息
  29. **【参数】
  30. **【返回值】
  31. ****************************************************************/
  32. bool CCfgTrunkItem::load( void )
  33. {
  34. IOtlRecordset* pTrunkRcd = IOtlConnection::getInstance()->QueryRecords(_T("SELECT id, node, board, span, sip_user FROM conf_trunk_item ORDER BY id ASC"));
  35. if (NULL == pTrunkRcd)
  36. return false;
  37. while(!pTrunkRcd->IsEOF())
  38. {
  39. TRUNK_ITEM* pTrunk = new TRUNK_ITEM;
  40. ASSERT(pTrunk != NULL);
  41. ZeroMemory(pTrunk, sizeof(TRUNK_ITEM));
  42. pTrunkRcd->MoveNextRow();
  43. pTrunk->Id = pTrunkRcd->GetValueIntByIndex(1);
  44. pTrunk->Node = pTrunkRcd->GetValueIntByIndex(2);
  45. pTrunk->Board = pTrunkRcd->GetValueIntByIndex(3);
  46. pTrunk->Span = pTrunkRcd->GetValueIntByIndex(4);
  47. pTrunk->SipAccountId = pTrunkRcd->GetValueIntByIndex(5);
  48. AddTail(pTrunk);
  49. } // end while
  50. IOtlRecordset::DestroyInstance(pTrunkRcd); // 释放记录集
  51. return true;
  52. }
  53. /*****************************************************************
  54. **【函数名称】 getTrunkItem
  55. **【函数功能】 获取指定中继项信息
  56. **【参数】
  57. **【返回值】
  58. ****************************************************************/
  59. TRUNK_ITEM* CCfgTrunkItem::getTrunkItem( int ItemId )
  60. {
  61. CNode* pNodeCur = m_pNodeHead;
  62. while(pNodeCur != NULL)
  63. {
  64. TRUNK_ITEM* pItem = pNodeCur->data;
  65. ASSERT(pItem != NULL);
  66. if(pItem->Id == ItemId)
  67. return pItem;
  68. pNodeCur = pNodeCur->pNext;
  69. }
  70. return NULL;
  71. }