DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
datahandler.cpp
Go to the documentation of this file.
1#include "dbe/datahandler.hpp"
2#include "dbe/treenode.hpp"
4#include "dbe/Conversion.hpp"
5
7 : root ( nullptr )
8{
9}
10
12{
13 delete root;
14}
15
17{
18 delete root;
19 root = nullptr;
20}
21
23{
24 emit FetchMoreData ( ClassNode );
25}
26
27dbe::treenode * dbe::datahandler::getnode ( std::string const & ClassName ) const
28{
29 return getnode ( QString::fromStdString ( ClassName ) );
30}
31
32dbe::treenode * dbe::datahandler::getnode ( const QString & ClassName ) const
33{
34 int current = 0;
35 int const number_of_childs = root->ChildCount();
36
37 for ( ;
38 current != number_of_childs and root->GetChild ( current )->GetData ( 0 ).toString()
39 != ClassName; ++current )
40 ;
41
42 return current == number_of_childs ? nullptr : root->GetChild ( current );
43}
44
45dbe::treenode * dbe::datahandler::getnode ( const std::string & ClassName,
46 const std::string & ObjectName ) const
47{
48 return getnode ( QString::fromStdString ( ClassName ),
49 QString::fromStdString ( ObjectName ) );
50}
51
52dbe::treenode * dbe::datahandler::getnode ( const QString & ClassName,
53 const QString & ObjectName ) const
54{
55 if ( dbe::treenode * classnode = getnode ( ClassName ) )
56 {
57 int current = 0;
58 int const number_of_objects = classnode->ChildCount();
59
60 for ( ;
61 current < number_of_objects and classnode->GetChild ( current )->GetData ( 0 ).toString()
62 != ObjectName; ++current )
63 ;
64
65 return current == number_of_objects ? nullptr : classnode->GetChild ( current );
66 }
67
68 return nullptr;
69}
70
72{
73 return root;
74}
75
77 QString const & name )
78{
79 QList<dbe::treenode *> childs = top->GetChildren();
80
81 for ( dbe::treenode * child : childs )
82 {
83 if ( QString::fromStdString ( child->GetObject().UID() ) == name )
84 {
85 return child;
86 }
87 }
88
89 return nullptr;
90}
treenode * getnode() const
void FetchMore(const treenode *ClassNode)
static treenode * findchild(treenode *top, QString const &name)
QList< treenode * > GetChildren() const
Definition treenode.cpp:105
int ChildCount() const
Definition treenode.cpp:115