ShellCommand: De-virtualize runCommand()

Add virtual postRunCommand() method, called
by the end of runCommand().

In this way the rest of the API of VcsCommand remains
an implementation detail.

Change-Id: Ia4149334bd39a1448266d2406e0987bee07a9c58
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
This commit is contained in:
Jarek Kobus
2022-07-12 13:34:26 +02:00
parent 3de1fffbeb
commit e3da02248a
4 changed files with 14 additions and 20 deletions

View File

@@ -126,9 +126,8 @@ public:
// This is called once per job in a thread.
// When called from the UI thread it will execute fully synchronously, so no signals will
// be triggered!
virtual void runCommand(QtcProcess &process,
const CommandLine &command,
const FilePath &workingDirectory = {});
void runCommand(QtcProcess &process, const CommandLine &command,
const FilePath &workingDirectory = {});
void cancel();
@@ -149,12 +148,13 @@ signals:
protected:
virtual Environment environment() const;
virtual void addTask(QFuture<void> &future);
void setDisableUnixTerminal();
int timeoutS() const;
FilePath workDirectory(const FilePath &wd) const;
private:
virtual void addTask(QFuture<void> &future);
virtual void postRunCommand(const Utils::FilePath &workDirectory);
void run(QFutureInterface<void> &future);
// Run without a event loop in fully blocking mode. No signals will be delivered.