LCOV - code coverage report
Current view: top level - asiolibs/src - SourceConcept.hpp (source / functions) Coverage Total Hit
Test: code.result Lines: 0.0 % 5 0
Test Date: 2026-07-12 15:23:06 Functions: 0.0 % 3 0

            Line data    Source code
       1              : 
       2              : /**
       3              :  * @file SourceConcept.hpp SourceConcept for constructors and
       4              :  * forwarding command args. Enforces the implementation to
       5              :  * queue in UDP JUMBO frames to be translated to TypeAdapters and
       6              :  * send them to corresponding sinks.
       7              :  *
       8              :  * This is part of the DUNE DAQ , copyright 2020.
       9              :  * Licensing/copyright details are in the COPYING file that you should have
      10              :  * received with this code.
      11              :  */
      12              : #ifndef ASIOLIBS_SRC_SOURCECONCEPT_HPP_
      13              : #define ASIOLIBS_SRC_SOURCECONCEPT_HPP_
      14              : 
      15              : //#include "DefaultParserImpl.hpp"
      16              : 
      17              : #include "opmonlib/MonitorableObject.hpp"
      18              : #include "appfwk/DAQModule.hpp"
      19              : #include "appmodel/DataMoveCallbackConf.hpp"
      20              : //#include "packetformat/detail/block_parser.hpp"
      21              : #include <nlohmann/json.hpp>
      22              : 
      23              : #include <memory>
      24              : #include <sstream>
      25              : #include <string>
      26              : 
      27              : namespace dunedaq::asiolibs {
      28              : 
      29              :   class SourceConcept : public opmonlib::MonitorableObject
      30              :   {
      31              :   public:
      32            0 :     SourceConcept() {}
      33            0 :     virtual ~SourceConcept() {}
      34              : 
      35              :     SourceConcept(const SourceConcept&) = delete;            ///< SourceConcept is not copy-constructible
      36              :     SourceConcept& operator=(const SourceConcept&) = delete; ///< SourceConcept is not copy-assginable
      37              :     SourceConcept(SourceConcept&&) = delete;                 ///< SourceConcept is not move-constructible
      38              :     SourceConcept& operator=(SourceConcept&&) = delete;      ///< SourceConcept is not move-assignable
      39              : 
      40              :     //  virtual void init(const nlohmann::json& args) = 0;
      41              :     virtual void acquire_callback() = 0;
      42              :     //  virtual void conf(const nlohmann::json& args) = 0;
      43              :     //  virtual void start(const nlohmann::json& args) = 0;
      44              :     //  virtual void stop(const nlohmann::json& args) = 0;
      45              : 
      46              :     // Meant to process an incoming raw byte buffer and extract complete frames of arbitrary types in specialized models.
      47              :     virtual void handle_daq_frame(char* buffer) = 0;
      48              :     virtual std::size_t get_expected_frame_size() const = 0;
      49              : 
      50            0 :     void set_sink_config(const appmodel::DataMoveCallbackConf* sink_conf) 
      51              :     { 
      52            0 :       m_sink_conf = sink_conf; 
      53            0 :     }
      54              : 
      55              :     // Sink or destination related
      56              :     const appmodel::DataMoveCallbackConf* m_sink_conf;
      57              :   };
      58              : 
      59              : } // namespace dunedaq::asiolibs
      60              : 
      61              : #endif // ASIOLIBS_SRC_SOURCECONCEPT_HPP_
        

Generated by: LCOV version 2.0-1