StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
dbNodes.cc
1 /***************************************************************************
2  *
3  * $Id: dbNodes.cc,v 1.4 2016/05/24 17:44:16 dmitry Exp $
4  *
5  * Author: R. Jeff Porter
6  ***************************************************************************
7  *
8  * Description: simple list of nodes (db objects)
9  *
10  ***************************************************************************
11  *
12  * $Log: dbNodes.cc,v $
13  * Revision 1.4 2016/05/24 17:44:16 dmitry
14  * first batch of fixes for Coverity findings
15  *
16  * Revision 1.3 2000/01/27 20:30:40 porter
17  * cleaned up dtor & error logic
18  *
19  * Revision 1.2 2000/01/14 14:49:10 porter
20  * set verbose level for checking, added $Id & $Logs, & made node container
21  * more robust for interactions with StDbLib
22  *
23  * Revision 1.1 2000/01/10 20:31:17 porter
24  * modified StDbBroker to be an interface to the DB-interface, StDbLib.
25  * - old functionality is retained for the short-term & modifications
26  * are extensions
27  *
28  *
29  **************************************************************************/
30 
31 #include "dbNodes.h"
32 
33 
34 dbNodes::dbNodes(): numNodes(0), curNode(0), maxList(500) {
35 
36  mpids = new int[maxList];
37 
38 }
39 
41 void
42 dbNodes::deleteLists() {
43 
44  if(mpids){
45  delete [] mpids;
46  mpids = 0;
47  }
48 
49  mnodes.clear();
50 
51 }
53 
54 int
55 dbNodes::addNode(StDbNode* node, int parentID){
56 
57  mnodes.push_back(node);
58  if(numNodes==maxList) extendParentList();
59  mpids[numNodes]=parentID;
60  numNodes++;
61 
62 return numNodes-1;
63 }
64 
66 
67 StDbNode*
68 dbNodes::getNode(int index){
69 
70  StDbNode* node=0;
71  if(index>-1 && index<numNodes)return mnodes[index];
72  return node;
73 
74 }
75 
76 
78 
79 int
80 dbNodes::getParentID(int index){
81 
82 if(index>-1 && index<numNodes)return mpids[index];
83 return 0;
84 }
85 
87 
88 StDbNode*
89 dbNodes::getParent(int index){
90 
91  StDbNode* node=0;
92  if(index>-1 && index<numNodes)return getNode(mpids[index]);
93  return node;
94 
95 }
96 
98 
99 StDbNode*
100 dbNodes::next(){
101 
102  StDbNode* node=getNode(curNode);
103  curNode++;
104  return node;
105 
106 }
107 
108 
109 
110 
111 
112 
113 
114 
115 
116 
117 
118 
119 
120 
121