File indexing completed on 2024-05-12 05:12:40
0001 /* 0002 Copyright (C) 2012 Kevin Krammer <krammer@kde.org> 0003 0004 This program is free software; you can redistribute it and/or modify 0005 it under the terms of the GNU General Public License as published by 0006 the Free Software Foundation; either version 2 of the License, or 0007 (at your option) any later version. 0008 0009 This program is distributed in the hope that it will be useful, 0010 but WITHOUT ANY WARRANTY; without even the implied warranty of 0011 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 0012 GNU General Public License for more details. 0013 0014 You should have received a copy of the GNU General Public License along 0015 with this program; if not, write to the Free Software Foundation, Inc., 0016 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 0017 */ 0018 0019 #ifndef COMMANDRUNNER_H 0020 #define COMMANDRUNNER_H 0021 0022 #include <QObject> 0023 0024 class AbstractCommand; 0025 0026 class CommandRunner : public QObject 0027 { 0028 Q_OBJECT 0029 0030 public: 0031 explicit CommandRunner(const QStringList *args); 0032 virtual ~CommandRunner(); 0033 0034 int start(); 0035 int exitCode() const { return (mExitCode); } 0036 0037 private: 0038 AbstractCommand *mCommand; 0039 const QStringList *mParsedArgs; 0040 int mExitCode; 0041 0042 private Q_SLOTS: 0043 void onCommandFinished(int exitCode); 0044 void onCommandError(const QString &error); 0045 }; 0046 0047 #endif // COMMANDRUNNER_H