Line data Source code
1 : /**
2 : * @file TimingMasterControllerPDII.hpp
3 : *
4 : * TimingMasterControllerPDII is a DAQModule implementation that
5 : * provides a control interface for PDII timing master firmware.
6 : *
7 : * This is part of the DUNE DAQ Software Suite, copyright 2020.
8 : * Licensing/copyright details are in the COPYING file that you should have
9 : * received with this code.
10 : */
11 :
12 : #ifndef TIMINGLIBS_PLUGINS_TIMINGMASTERCONTROLLERPDII_HPP_
13 : #define TIMINGLIBS_PLUGINS_TIMINGMASTERCONTROLLERPDII_HPP_
14 :
15 : #include "TimingMasterControllerBase.hpp"
16 :
17 : #include "timinglibs/timingcmd/Nljs.hpp"
18 : #include "timinglibs/timingcmd/Structs.hpp"
19 :
20 : #include "appfwk/DAQModule.hpp"
21 : #include "ers/Issue.hpp"
22 : #include "logging/Logging.hpp"
23 : #include "utilities/WorkerThread.hpp"
24 :
25 : #include <memory>
26 : #include <string>
27 : #include <vector>
28 :
29 : namespace dunedaq {
30 : namespace timinglibs {
31 :
32 : /**
33 : * @brief TimingMasterControllerPDII is a DAQModule implementation that
34 : * provides a control interface for timing master hardware.
35 : */
36 : class TimingMasterControllerPDII : public dunedaq::timinglibs::TimingMasterControllerBase
37 : {
38 : public:
39 : /**
40 : * @brief TimingMasterControllerPDII Constructor
41 : * @param name Instance name for this TimingMasterControllerPDII instance
42 : */
43 0 : explicit TimingMasterControllerPDII(const std::string& name)
44 0 : : dunedaq::timinglibs::TimingMasterControllerBase(name) {}
45 :
46 : TimingMasterControllerPDII(const TimingMasterControllerPDII&) = delete; ///< TimingMasterControllerPDII is not copy-constructible
47 : TimingMasterControllerPDII& operator=(const TimingMasterControllerPDII&) =
48 : delete; ///< TimingMasterControllerPDII is not copy-assignable
49 : TimingMasterControllerPDII(TimingMasterControllerPDII&&) = delete; ///< TimingMasterControllerPDII is not move-constructible
50 : TimingMasterControllerPDII& operator=(TimingMasterControllerPDII&&) =
51 : delete; ///< TimingMasterControllerPDII is not move-assignable
52 :
53 : protected:
54 : void process_device_info(nlohmann::json info) override;
55 : };
56 : } // namespace timinglibs
57 : } // namespace dunedaq
58 :
59 : #endif // TIMINGLIBS_PLUGINS_TIMINGMASTERCONTROLLERPDII_HPP_
60 :
61 : // Local Variables:
62 : // c-basic-offset: 2
63 : // End:
|