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 <QString>
0010 #include <QStringList>
0011 
0012 #include "logFile.h"
0013 
0014 #include "logFileReader.h"
0015 
0016 class LocalLogFileReaderPrivate;
0017 
0018 class LocalLogFileReader : public LogFileReader
0019 {
0020     Q_OBJECT
0021 
0022 public:
0023     explicit LocalLogFileReader(const LogFile &logFile);
0024 
0025     ~LocalLogFileReader() override;
0026 
0027     void watchFile(bool enable) override;
0028 
0029     void setPreviousFilePosition(long previousFilePosition);
0030 
0031 private Q_SLOTS:
0032     void logFileModified();
0033 
0034 private:
0035     void init();
0036 
0037     QIODevice *open();
0038     void close(QIODevice *inputDevice);
0039 
0040     QStringList readContent(QIODevice *inputDevice);
0041 
0042 protected:
0043     LocalLogFileReader(LocalLogFileReaderPrivate &dd, const LogFile &logFile);
0044 
0045 private:
0046     Q_DECLARE_PRIVATE(LocalLogFileReader)
0047 };