artdaq_mfextensions  v1_05_00
LogReader_receiver.hh
1 #ifndef MF_LOG_READER_H
2 #define MF_LOG_READER_H
3 
4 #include <fstream>
5 #include <string>
6 
7 #include "fhiclcpp/fwd.h"
8 #include "messagefacility/MessageLogger/MessageLogger.h"
9 
10 #include <boost/regex.hpp>
11 
12 #include "mfextensions/Receivers/MVReceiver.hh"
13 
14 namespace mfviewer {
20 class LogReader : public MVReceiver
21 {
22  Q_OBJECT
23 public:
28  explicit LogReader(const fhicl::ParameterSet& pset);
29 
33  virtual ~LogReader();
34 
38  void run();
39 
44  msg_ptr_t read_next(); // read next log
45 
46  bool iseof() { return log_.eof(); }
47 
48 private:
49  LogReader(LogReader const&) = delete;
50  LogReader(LogReader&&) = delete;
51  LogReader& operator=(LogReader const&) = delete;
52  LogReader& operator=(LogReader&&) = delete;
53 
54 
55  std::ifstream log_;
56  size_t pos_;
57 
58  std::string filename_;
59  int counter_;
60 
61  boost::regex metadata_1;
62  // boost::regex metadata_2;
63  boost::smatch what_;
64 };
65 } // namespace mfviewer
66 
67 #endif
LogReader(const fhicl::ParameterSet &pset)
LogReader Constructor
virtual ~LogReader()
LogReader Destructor
void run()
Receiver loop method. Reads messages from file and emits newMessage signal
MessageFacility Log Reader Read messagefacility log archive and reemit as messagefacility messages ...
A MVReceiver class listens for messages and raises a signal when one arrives
Definition: MVReceiver.hh:17
msg_ptr_t read_next()
Read the next message from the input stream