artdaq_mfextensions  v1_05_03a
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 
50  bool iseof() { return log_.eof(); }
51 
52 private:
53  LogReader(LogReader const&) = delete;
54  LogReader(LogReader&&) = delete;
55  LogReader& operator=(LogReader const&) = delete;
56  LogReader& operator=(LogReader&&) = delete;
57 
58  std::ifstream log_;
59  size_t pos_;
60 
61  std::string filename_;
62  int counter_;
63 
64  boost::regex metadata_1;
65  // boost::regex metadata_2;
66  boost::smatch what_;
67 };
68 } // namespace mfviewer
69 
70 #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
bool iseof()
Determine if the LogReader has reached the end of file.
msg_ptr_t read_next()
Read the next message from the input stream