DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
FakeCardReaderBase.hpp
Go to the documentation of this file.
1
12#ifndef DATAHANDLINGLIBS_INCLUDE_DATAHANDLINGLIBS_FAKECARDREADERBASE_HPP_
13#define DATAHANDLINGLIBS_INCLUDE_DATAHANDLINGLIBS_FAKECARDREADERBASE_HPP_
14
15// package
17
26
28
31
32#include "nlohmann/json.hpp"
33#include "rcif/cmd/Nljs.hpp"
34
35// std
36#include <cstdint>
37#include <fstream>
38#include <map>
39#include <memory>
40#include <string>
41#include <vector>
42
43namespace dunedaq {
44namespace datahandlinglibs {
45
47{
48public:
53 explicit FakeCardReaderBase(const std::string& name);
55
60
61 void init(std::shared_ptr<appfwk::ConfigurationManager> cfg);
62
63 // To be implemented by final module
64 virtual std::shared_ptr<datahandlinglibs::SourceEmulatorConcept>
65 create_source_emulator(std::string qi, std::atomic<bool>& run_marker) = 0;
66
67 // Commands
68 void do_conf(const nlohmann::json& /*args*/);
69 void do_scrap(const nlohmann::json& /*args*/);
70 void do_start(const nlohmann::json& /*args*/);
71 void do_stop(const nlohmann::json& /*args*/);
72
73 std::string get_fcr_name() { return m_name; }
74
75private:
76 // Configuration
78 std::string m_name;
79 std::shared_ptr<appfwk::ConfigurationManager> m_cfg;
80
81 std::map<std::string, std::shared_ptr<datahandlinglibs::SourceEmulatorConcept>> m_source_emus;
82
83 // Internals
84 std::unique_ptr<datahandlinglibs::FileSourceBuffer> m_source_buffer;
85
86 // Threading
87 std::atomic<bool> m_run_marker;
88};
89
90} // namespace datahandlinglibs
91} // namespace dunedaq
92
93// Declarations
95
96#endif // DATAHANDLINGLIBS_INCLUDE_DATAHANDLINGLIBS_FAKECARDREADERBASE_HPP_
FakeCardReaderBase & operator=(FakeCardReaderBase &&)=delete
FakeCardReaderBase is not move-assignable.
std::unique_ptr< datahandlinglibs::FileSourceBuffer > m_source_buffer
void init(std::shared_ptr< appfwk::ConfigurationManager > cfg)
FakeCardReaderBase(FakeCardReaderBase &&)=delete
FakeCardReaderBase is not move-constructible.
std::map< std::string, std::shared_ptr< datahandlinglibs::SourceEmulatorConcept > > m_source_emus
FakeCardReaderBase & operator=(const FakeCardReaderBase &)=delete
FakeCardReaderBase is not copy-assignable.
FakeCardReaderBase(const FakeCardReaderBase &)=delete
FakeCardReaderBase is not copy-constructible.
std::shared_ptr< appfwk::ConfigurationManager > m_cfg
FakeCardReaderBase(const std::string &name)
FakeCardReaderBase Constructor.
virtual std::shared_ptr< datahandlinglibs::SourceEmulatorConcept > create_source_emulator(std::string qi, std::atomic< bool > &run_marker)=0
std::atomic< bool > run_marker
Global atomic for process lifetime.
Including Qt Headers.