LCOV - code coverage report
Current view: top level - dbe/src/internal - datahandler.cpp (source / functions) Coverage Total Hit
Test: code.result Lines: 16.2 % 37 6
Test Date: 2026-10-11 15:05:20 Functions: 20.0 % 10 2

            Line data    Source code
       1              : // DUNE DAQ modification notice:
       2              : // This file has been modified from the original ATLAS dbe source for the DUNE DAQ project.
       3              : // Fork baseline commit: dbe-02-12-17 (2022-05-12).
       4              : // Renamed since fork: no.
       5              : 
       6              : #include "dbe/datahandler.hpp"
       7              : #include "dbe/Conversion.hpp"
       8              : #include "dbe/dbcontroller.hpp"
       9              : #include "dbe/treenode.hpp"
      10              : 
      11            3 : dbe::datahandler::datahandler()
      12            3 :   : root(nullptr)
      13              : {
      14            3 : }
      15              : 
      16            6 : dbe::datahandler::~datahandler()
      17              : {
      18            3 :   delete root;
      19            6 : }
      20              : 
      21              : void
      22            0 : dbe::datahandler::ResetData()
      23              : {
      24            0 :   delete root;
      25            0 :   root = nullptr;
      26            0 : }
      27              : 
      28              : void
      29            0 : dbe::datahandler::FetchMore(const treenode* ClassNode)
      30              : {
      31            0 :   emit FetchMoreData(ClassNode);
      32            0 : }
      33              : 
      34              : dbe::treenode*
      35            0 : dbe::datahandler::getnode(std::string const& ClassName) const
      36              : {
      37            0 :   return getnode(QString::fromStdString(ClassName));
      38              : }
      39              : 
      40              : dbe::treenode*
      41            0 : dbe::datahandler::getnode(const QString& ClassName) const
      42              : {
      43            0 :   int current = 0;
      44            0 :   int const number_of_childs = root->ChildCount();
      45              : 
      46            0 :   for (; current != number_of_childs and root->GetChild(current)->GetData(0).toString() != ClassName; ++current)
      47              :     ;
      48              : 
      49            0 :   return current == number_of_childs ? nullptr : root->GetChild(current);
      50              : }
      51              : 
      52              : dbe::treenode*
      53            0 : dbe::datahandler::getnode(const std::string& ClassName, const std::string& ObjectName) const
      54              : {
      55            0 :   return getnode(QString::fromStdString(ClassName), QString::fromStdString(ObjectName));
      56              : }
      57              : 
      58              : dbe::treenode*
      59            0 : dbe::datahandler::getnode(const QString& ClassName, const QString& ObjectName) const
      60              : {
      61            0 :   if (dbe::treenode* classnode = getnode(ClassName)) {
      62            0 :     int current = 0;
      63            0 :     int const number_of_objects = classnode->ChildCount();
      64              : 
      65            0 :     for (; current < number_of_objects and classnode->GetChild(current)->GetData(0).toString() != ObjectName; ++current)
      66              :       ;
      67              : 
      68            0 :     return current == number_of_objects ? nullptr : classnode->GetChild(current);
      69              :   }
      70              : 
      71              :   return nullptr;
      72              : }
      73              : 
      74              : dbe::treenode*
      75            0 : dbe::datahandler::getnode() const
      76              : {
      77            0 :   return root;
      78              : }
      79              : 
      80              : dbe::treenode*
      81            0 : dbe::datahandler::findchild(dbe::treenode* const top, QString const& name)
      82              : {
      83            0 :   QList<dbe::treenode*> childs = top->GetChildren();
      84              : 
      85            0 :   for (dbe::treenode* child : childs) {
      86            0 :     if (QString::fromStdString(child->GetObject().UID()) == name) {
      87            0 :       return child;
      88              :     }
      89              :   }
      90              : 
      91            0 :   return nullptr;
      92            0 : }
        

Generated by: LCOV version 2.0-1