LCOV - code coverage report
Current view: top level - /opt/artdaq/srcs/artdaq-mfextensions/mfextensions/Receivers - MVReceiver.hh (source / functions) Coverage Total Hit
Test: artdaq.info.cleaned Lines: 0.0 % 2 0
Test Date: 2025-09-04 00:45:34 Functions: 0.0 % 3 0

            Line data    Source code
       1              : #ifndef MFVIEWER_MVRECEIVER_H
       2              : #define MFVIEWER_MVRECEIVER_H
       3              : 
       4              : #include <string>
       5              : 
       6              : #include "fhiclcpp/ParameterSet.h"
       7              : 
       8              : #include "mfextensions/Receivers/qt_mf_msg.hh"
       9              : 
      10              : #include <QtCore/QThread>
      11              : #include <iostream>
      12              : 
      13              : namespace mfviewer {
      14              : /// <summary>
      15              : /// A MVReceiver class listens for messages and raises a signal when one arrives
      16              : /// </summary>
      17              : class MVReceiver : public QThread
      18              : {
      19              :         Q_OBJECT
      20              : 
      21              : public:
      22              :         /// <summary>
      23              :         /// Construct a MVReceiver using the given ParameterSet
      24              :         /// </summary>
      25              :         /// <param name="pset">ParameterSet used to construct MVReceiver</param>
      26              :         explicit MVReceiver(fhicl::ParameterSet const& pset);
      27              : 
      28              :         /// <summary>
      29              :         /// MVReceiver destructor
      30              :         /// </summary>
      31            0 :         virtual ~MVReceiver() {}
      32              : 
      33              :         /// <summary>
      34              :         /// Stop the MVReceiver thread
      35              :         /// </summary>
      36            0 :         void stop() { stopRequested_ = true; }
      37              : 
      38              : protected:
      39              :         /// <summary>
      40              :         /// Whether the MVRecevier should stop
      41              :         /// </summary>
      42              :         std::atomic<bool> stopRequested_;
      43              : signals:
      44              :         /// <summary>
      45              :         /// When a message is received by the MVReceiver, this signal should be raised so that the connected listener can
      46              :         /// process it.
      47              :         /// </summary>
      48              :         /// <param name="msg">Received message</param>
      49              :         void NewMessage(msg_ptr_t const& msg);
      50              : 
      51              : private:
      52              :         MVReceiver(MVReceiver const&) = delete;
      53              :         MVReceiver(MVReceiver&&) = delete;
      54              :         MVReceiver& operator=(MVReceiver const&) = delete;
      55              :         MVReceiver& operator=(MVReceiver&&) = delete;
      56              : };
      57              : }  // namespace mfviewer
      58              : 
      59              : #endif  // MVRECEIVER_H
        

Generated by: LCOV version 2.0-1