File indexing completed on 2024-05-05 05:48:56

0001 /*
0002     SPDX-FileCopyrightText: 2007 Nicolas Ternisien <nicolas.ternisien@gmail.com>
0003 
0004     SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #pragma once
0008 
0009 #include <QObject>
0010 #include <QString>
0011 #include <QStringList>
0012 
0013 #include "analyzer.h"
0014 #include "logFile.h"
0015 
0016 class LogFileReaderPrivate;
0017 
0018 class LogFileReader : public QObject
0019 {
0020     Q_OBJECT
0021 
0022 public:
0023     explicit LogFileReader(const LogFile &logFile);
0024 
0025     ~LogFileReader() override;
0026 
0027     virtual void watchFile(bool enable) = 0;
0028 
0029     LogFile logFile() const;
0030 
0031 Q_SIGNALS:
0032     void contentChanged(LogFileReader *origin, Analyzer::ReadingMode readingMode, const QStringList &newLines);
0033 
0034     void statusBarChanged(const QString &message);
0035     void errorOccured(const QString &title, const QString &message);
0036 
0037 protected:
0038     LogFileReaderPrivate *const d_ptr;
0039     LogFileReader(LogFileReaderPrivate &dd, const LogFile &logFile);
0040 
0041 private:
0042     Q_DECLARE_PRIVATE(LogFileReader)
0043 };