File indexing completed on 2024-03-24 04:38:33
0001 /* This file is part of KDevelop 0002 0003 Copyright 2016 Anton Anikin <anton.anikin@htower.ru> 0004 0005 This program is free software; you can redistribute it and/or 0006 modify it under the terms of the GNU General Public 0007 License as published by the Free Software Foundation; either 0008 version 2 of the License, or (at your option) any later version. 0009 0010 This program is distributed in the hope that it will be useful, 0011 but WITHOUT ANY WARRANTY; without even the implied warranty of 0012 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 0013 General Public License for more details. 0014 0015 You should have received a copy of the GNU General Public License 0016 along with this program; see the file COPYING. If not, write to 0017 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 0018 Boston, MA 02110-1301, USA. 0019 */ 0020 0021 #ifndef VERAPP_JOB_H 0022 #define VERAPP_JOB_H 0023 0024 0025 #include "parameters.h" 0026 0027 #include <interfaces/iproblem.h> 0028 #include <outputview/outputexecutejob.h> 0029 0030 class QElapsedTimer; 0031 0032 namespace verapp 0033 { 0034 0035 class Job : public KDevelop::OutputExecuteJob 0036 { 0037 Q_OBJECT 0038 0039 public: 0040 explicit Job(const Parameters& params); 0041 ~Job() override; 0042 0043 void start() override; 0044 0045 Q_SIGNALS: 0046 void problemsDetected(const QVector<KDevelop::IProblem::Ptr>& problems); 0047 0048 protected slots: 0049 void postProcessStdout(const QStringList& lines) override; 0050 void postProcessStderr(const QStringList& lines) override; 0051 0052 void childProcessExited(int exitCode, QProcess::ExitStatus exitStatus) override; 0053 void childProcessError(QProcess::ProcessError processError) override; 0054 0055 protected: 0056 QScopedPointer<QElapsedTimer> m_timer; 0057 0058 QStringList m_standardOutput; 0059 QStringList m_stderrOutput; 0060 }; 0061 0062 } 0063 #endif