00001 #ifndef MF_LOG_READER_H
00002 #define MF_LOG_READER_H
00003
00004 #include <string>
00005 #include <fstream>
00006
00007 #include "fhiclcpp/fwd.h"
00008 #include "messagefacility/MessageLogger/MessageLogger.h"
00009 #include "messagefacility/Utilities/MessageFacilityMsg.h"
00010
00011 #include <boost/regex.hpp>
00012
00013 #include "mfextensions/Receivers/MVReceiver.hh"
00014
00015 namespace mfviewer
00016 {
00022 class LogReader : public MVReceiver
00023 {
00024 Q_OBJECT
00025 public:
00026
00027 LogReader(fhicl::ParameterSet pset);
00028
00029 virtual ~LogReader();
00030
00031
00032 void run();
00033
00034 mf::MessageFacilityMsg read_next();
00035
00036 private:
00037
00038 std::ifstream log_;
00039 size_t pos_;
00040
00041 std::string filename_;
00042 int counter_;
00043
00044 boost::regex metadata_1;
00045
00046 boost::smatch what_;
00047 };
00048 }
00049
00050 #endif