From 5e10ea19c1123293ae048e1eb66c3cb77fc0ea7b Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Mon, 19 Sep 2022 11:44:07 +0200 Subject: [PATCH] VcsCommand: Conform to QtcProcess API Add result() getter and done() signal in order to conform to QtcProcess API. Change-Id: Idc7c57e03d6e8acead9d4c034f4efc56250f944d Reviewed-by: Orgad Shaneh Reviewed-by: --- src/plugins/vcsbase/vcscommand.cpp | 8 ++++++++ src/plugins/vcsbase/vcscommand.h | 2 ++ 2 files changed, 10 insertions(+) diff --git a/src/plugins/vcsbase/vcscommand.cpp b/src/plugins/vcsbase/vcscommand.cpp index 69b7c384f3e..66ebb069f52 100644 --- a/src/plugins/vcsbase/vcscommand.cpp +++ b/src/plugins/vcsbase/vcscommand.cpp @@ -106,6 +106,7 @@ public: std::unique_ptr m_process; QString m_stdOut; QString m_stdErr; + ProcessResult m_result = ProcessResult::StartFailed; QFutureInterface m_futureInterface; unsigned m_flags = 0; @@ -255,6 +256,7 @@ void VcsCommandPrivate::processDone() handleDone(m_process.get()); m_stdOut += m_process->cleanedStdOut(); m_stdErr += m_process->cleanedStdErr(); + m_result = m_process->result(); ++m_currentJob; const bool success = m_process->result() == ProcessResult::FinishedWithSuccess; if (m_currentJob < m_jobs.count() && success) { @@ -263,6 +265,7 @@ void VcsCommandPrivate::processDone() return; } emit q->finished(success); + emit q->done(); if (!success) m_futureInterface.reportCanceled(); cleanup(); @@ -377,6 +380,11 @@ QString VcsCommand::cleanedStdErr() const return d->m_stdErr; } +ProcessResult VcsCommand::result() const +{ + return d->m_result; +} + CommandResult VcsCommand::runCommand(const CommandLine &command, int timeoutS) { QtcProcess process; diff --git a/src/plugins/vcsbase/vcscommand.h b/src/plugins/vcsbase/vcscommand.h index 675b707f128..2bb70850156 100644 --- a/src/plugins/vcsbase/vcscommand.h +++ b/src/plugins/vcsbase/vcscommand.h @@ -118,11 +118,13 @@ public: QString cleanedStdOut() const; QString cleanedStdErr() const; + Utils::ProcessResult result() const; signals: void stdOutText(const QString &); void stdErrText(const QString &); void finished(bool success); + void done(); void terminate(); // Internal