#ifndef COMMAND_H_INCLUDED #define COMMAND_H_INCLUDED #endif // COMMAND_H_INCLUDED #include <QObject> #include <QCoreApplication> #include <QString> #include <QStringList> #include <QProcess> class Command : public QObject { Q_OBJECT QString m_command; QString m_commandResult; int m_waitForStartTimeout; int m_waitForFinishTimeout; int m_exitCode; public: explicit Command(QString const &command, int start_timeout = 100000, int finish_timeout = 100000); QString getCommandResult() const; QString command() const { return m_command; } bool execute(QString workingDirectory, QStringList args = QStringList()); int exitCode() const { return m_exitCode; } private slots: void readyReadStandardOutput(); void readyReadStandardError(); void finished(int exitCode, QProcess::ExitStatus exitStatus); };