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

            Line data    Source code
       1              : #ifndef artdaq_Application_MPI2_DispatcherApp_hh
       2              : #define artdaq_Application_MPI2_DispatcherApp_hh
       3              : 
       4              : #include "artdaq/Application/Commandable.hh"
       5              : #include "artdaq/Application/DispatcherCore.hh"
       6              : 
       7              : #include "canvas/Persistency/Provenance/RunID.h"
       8              : 
       9              : #include <memory>
      10              : 
      11              : namespace artdaq {
      12              : class DispatcherApp;
      13              : }
      14              : 
      15              : /**
      16              :  * \brief DispatcherApp is an artdaq::Commandable derived class which controls the DispatcherCore
      17              :  */
      18              : class artdaq::DispatcherApp : public artdaq::Commandable
      19              : {
      20              : public:
      21              :         /**
      22              :          * \brief DispatcherApp Constructor
      23              :          */
      24              :         DispatcherApp();
      25              : 
      26              :         /**
      27              :          * \brief Copy Constructor is Deleted
      28              :          */
      29              :         DispatcherApp(DispatcherApp const&) = delete;
      30              : 
      31              :         /**
      32              :          * \brief Default virtual destructor
      33              :          */
      34            0 :         virtual ~DispatcherApp() = default;
      35              : 
      36              :         /**
      37              :          * \brief Copy Assignment operator is Deleted
      38              :          * \return DispatcherApp copy
      39              :          */
      40              :         DispatcherApp& operator=(DispatcherApp const&) = delete;
      41              :         DispatcherApp(DispatcherApp&&) = delete;             ///< Move Constructor is deleted
      42              :         DispatcherApp& operator=(DispatcherApp&&) = delete;  ///< Move Assignment Operator is deleted
      43              : 
      44              :         // these methods provide the operations that are used by the state machine
      45              :         /**
      46              :          * \brief Initialize the DispatcherCore
      47              :          * \param pset ParameterSet used to initialize the DispatcherCore
      48              :          * \return Whether the initialize transition succeeded
      49              :          */
      50              :         bool do_initialize(fhicl::ParameterSet const& pset, uint64_t, uint64_t) override;
      51              : 
      52              :         /**
      53              :          * \brief Start the DispatcherCore
      54              :          * \param id Run number of the new run
      55              :          * \return Whether the start transition succeeded
      56              :          */
      57              :         bool do_start(art::RunID id, uint64_t, uint64_t) override;
      58              : 
      59              :         /**
      60              :          * \brief Stop the DispatcherCore
      61              :          * \return Whether the stop transition succeeded
      62              :          */
      63              :         bool do_stop(uint64_t, uint64_t) override;
      64              : 
      65              :         /**
      66              :          * \brief Pause the DispatcherCore
      67              :          * \return Whether the pause transition succeeded
      68              :          */
      69              :         bool do_pause(uint64_t, uint64_t) override;
      70              : 
      71              :         /**
      72              :          * \brief Resume the DispatcherCore
      73              :          * \return Whether the resume transition succeeded
      74              :          */
      75              :         bool do_resume(uint64_t, uint64_t) override;
      76              : 
      77              :         /**
      78              :          * \brief Shutdown the DispatcherCore
      79              :          * \return Whether the shutdown transition succeeded
      80              :          */
      81              :         bool do_shutdown(uint64_t) override;
      82              : 
      83              :         /**
      84              :          * \brief Soft-initialize the DispatcherCore. No-Op
      85              :          * \return This function always returns true
      86              :          */
      87              :         bool do_soft_initialize(fhicl::ParameterSet const&, uint64_t, uint64_t) override;
      88              : 
      89              :         /**
      90              :          * \brief Reinitialize the DispatcherCore. No-Op
      91              :          * \return This function always returns true
      92              :          */
      93              :         bool do_reinitialize(fhicl::ParameterSet const&, uint64_t, uint64_t) override;
      94              : 
      95              :         /**
      96              :          * \brief If which is "transition_status", report the status of the last transition. Otherwise pass through to DispatcherCore
      97              :          * \param which What to report on
      98              :          * \return Report string. Empty for unknown "which" parameter
      99              :          */
     100              :         std::string report(std::string const& which) const override;
     101              : 
     102              :         /**
     103              :          * \brief Register an art Online Monitor to the DispatcherCore
     104              :          * \param info ParameterSet containing information about the monitor
     105              :          * \return String detailing result status
     106              :          */
     107              :         std::string register_monitor(fhicl::ParameterSet const& info) override;
     108              : 
     109              :         /**
     110              :          * \brief Remove an art Online Monitor from the DispatcherCore
     111              :          * \param label Name of the monitor to remove
     112              :          * \return String detailing result status
     113              :          */
     114              :         std::string unregister_monitor(std::string const& label) override;
     115              : 
     116              : private:
     117              :         std::unique_ptr<DispatcherCore> Dispatcher_ptr_;
     118              : };
     119              : 
     120              : #endif
        

Generated by: LCOV version 2.0-1