Utils: Move QtcProcess constructor setup data to shared setup data

This includes replacing DeviceProcess terminal handling with base
member.

Change-Id: Id1541bfce33c71dddc71b4816ad0b174dce3879c
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
This commit is contained in:
hjk
2022-02-10 19:25:03 +01:00
parent 825c89987c
commit e2cb64471a
23 changed files with 119 additions and 87 deletions

View File

@@ -60,6 +60,9 @@ class QTCREATOR_UTILS_EXPORT QtcProcess : public QObject
Q_OBJECT
public:
QtcProcess(QObject *parent = nullptr);
~QtcProcess();
enum ProcessImpl {
QProcessImpl,
ProcessLauncherImpl,
@@ -74,24 +77,6 @@ public:
TerminalOn = TerminalRun // default mode for ON
};
struct Setup {
Setup() {}
Setup(ProcessImpl processImpl) : processImpl(processImpl) {}
Setup(ProcessMode processMode) : processMode(processMode) {}
Setup(TerminalMode terminalMode) : terminalMode(terminalMode) {}
ProcessImpl processImpl = DefaultImpl;
ProcessMode processMode = ProcessMode::Reader;
TerminalMode terminalMode = TerminalOff;
};
QtcProcess(const Setup &setup = {}, QObject *parent = nullptr);
QtcProcess(QObject *parent);
~QtcProcess();
ProcessMode processMode() const;
TerminalMode terminalMode() const;
enum Result {
// Finished successfully. Unless an ExitCodeInterpreter is set
// this corresponds to a return code 0.
@@ -109,6 +94,15 @@ public:
Hang
};
void setProcessImpl(ProcessImpl processImpl);
void setTerminalMode(TerminalMode mode);
bool usesTerminal() const { return terminalMode() != TerminalOff; }
TerminalMode terminalMode() const;
void setProcessMode(ProcessMode processMode);
ProcessMode processMode() const;
void setEnvironment(const Environment &env);
void unsetEnvironment();
const Environment &environment() const;