File indexing completed on 2024-05-05 10:08:45
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 #define PROCESS_OUTPUT_UPDATER_INTERVAL 10000 0010 0011 #include <QProcess> 0012 0013 #include "logFile.h" 0014 0015 #include "logFileReader.h" 0016 0017 class ProcessOutputLogFileReaderPrivate; 0018 0019 class ProcessOutputLogFileReader : public LogFileReader 0020 { 0021 Q_OBJECT 0022 0023 public: 0024 explicit ProcessOutputLogFileReader(const LogFile &logFile); 0025 0026 ~ProcessOutputLogFileReader() override; 0027 0028 void watchFile(bool enable) override; 0029 0030 void setPreviousFilePosition(long previousFilePosition); 0031 0032 private Q_SLOTS: 0033 void startProcess(); 0034 0035 void logFileModified(); 0036 0037 void emitProcessOutput(int, QProcess::ExitStatus); 0038 0039 private: 0040 void init(); 0041 0042 void closeProcess(); 0043 0044 void emptyBuffer(); 0045 0046 protected: 0047 ProcessOutputLogFileReader(ProcessOutputLogFileReaderPrivate &dd, const LogFile &logFile); 0048 0049 private: 0050 Q_DECLARE_PRIVATE(ProcessOutputLogFileReader) 0051 };