LCOV - code coverage report
Current view: top level - asiolibs/src - CreateSource.hpp (source / functions) Coverage Total Hit
Test: code.result Lines: 0.0 % 19 0
Test Date: 2026-10-11 15:05:20 Functions: 0.0 % 2 0

            Line data    Source code
       1              : /**
       2              :  * @file CreateSource.hpp Specific SourceConcept creator.
       3              :  *
       4              :  * This is part of the DUNE DAQ , copyright 2020.
       5              :  * Licensing/copyright details are in the COPYING file that you should have
       6              :  * received with this code.
       7              :  */
       8              : #ifndef ASIOLIBS_SRC_CREATESOURCE_HPP_
       9              : #define ASIOLIBS_SRC_CREATESOURCE_HPP_
      10              : 
      11              : #include "SourceConcept.hpp"
      12              : #include "SourceModel.hpp"
      13              : #include "datahandlinglibs/DataHandlingIssues.hpp"
      14              : 
      15              : #include "fdreadoutlibs/CRTBernTypeAdapter.hpp"
      16              : #include "fdreadoutlibs/CRTGrenobleTypeAdapter.hpp"
      17              : #include "fdreadoutlibs/DUNEWIBEthTypeAdapter.hpp"
      18              : 
      19              : #include <memory>
      20              : #include <string>
      21              : 
      22              : namespace dunedaq {
      23              : 
      24              : DUNE_DAQ_TYPESTRING(dunedaq::fdreadoutlibs::types::DUNEWIBEthTypeAdapter, "WIBEthFrame")
      25              : DUNE_DAQ_TYPESTRING(dunedaq::fdreadoutlibs::types::CRTBernTypeAdapter, "CRTBernFrame")
      26              : DUNE_DAQ_TYPESTRING(dunedaq::fdreadoutlibs::types::CRTGrenobleTypeAdapter, "CRTGrenobleFrame")
      27              : 
      28              : namespace asiolibs {
      29              : 
      30              : std::shared_ptr<SourceConcept>
      31            0 : createSourceModel(const appmodel::DataMoveCallbackConf* conf)
      32              : {
      33            0 :   auto datatype = conf->get_data_type();
      34            0 :   TLOG() << "Choosing specializations for SourceModel for output connection "
      35            0 :          << " [uid:" << conf->UID() << " , data_type:" << datatype << ']';
      36              : 
      37            0 :   if (datatype.find("WIBEthFrame") != std::string::npos) {
      38              :     // Create Model
      39            0 :     auto source_model = std::make_shared<SourceModel<fdreadoutlibs::types::DUNEWIBEthTypeAdapter>>();
      40              : 
      41              :     // For callback acquisition later (lazy)
      42            0 :     source_model->set_sink_config(conf);
      43              : 
      44              :     // Get parser and sink
      45              :     // auto& parser = source_model->get_parser();
      46              :     // auto& sink = source_model->get_sink();
      47              :     // auto& error_sink = source_model->get_error_sink();
      48              : 
      49              :     // Modify parser as needed...
      50              :     // parser.process_chunk_func =
      51              :     // parsers::fixsizedChunkInto<fdreadoutlibs::types::ProtoWIBSuperChunkTypeAdapter>(sink); if (error_sink != nullptr)
      52              :     // {
      53              :     //  parser.process_chunk_with_error_func = parsers::errorChunkIntoSink(error_sink);
      54              :     //}
      55              :     // parser.process_block_func = ...
      56              : 
      57              :     // Return with setup model
      58            0 :     return source_model;
      59              : 
      60            0 :   } else if (datatype.find("CRTBernFrame") != std::string::npos) {
      61            0 :     auto source_model = std::make_shared<SourceModel<fdreadoutlibs::types::CRTBernTypeAdapter>>();
      62            0 :     source_model->set_sink_config(conf);
      63            0 :     return source_model;
      64            0 :   } else if (datatype.find("CRTGrenobleFrame") != std::string::npos) {
      65            0 :     auto source_model = std::make_shared<SourceModel<fdreadoutlibs::types::CRTGrenobleTypeAdapter>>();
      66            0 :     source_model->set_sink_config(conf);
      67            0 :     return source_model;
      68            0 :   }
      69              : 
      70            0 :   return nullptr;
      71            0 : }
      72              : 
      73              : } // namespace asiolibs
      74              : } // namespace dunedaq
      75              : 
      76              : #endif // ASIOLIBS_SRC_CREATESOURCE_HPP_
        

Generated by: LCOV version 2.0-1