aboutsummaryrefslogtreecommitdiffstats
path: root/src/libs/utils/qtcprocess.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/libs/utils/qtcprocess.h')
-rw-r--r--src/libs/utils/qtcprocess.h22
1 files changed, 15 insertions, 7 deletions
diff --git a/src/libs/utils/qtcprocess.h b/src/libs/utils/qtcprocess.h
index 57783e38ade..592830041e1 100644
--- a/src/libs/utils/qtcprocess.h
+++ b/src/libs/utils/qtcprocess.h
@@ -62,7 +62,8 @@ class QTCREATOR_UTILS_EXPORT QtcProcess : public QObject
public:
enum ProcessImpl {
QProcessImpl,
- ProcessLauncherImpl
+ ProcessLauncherImpl,
+ DefaultImpl,
};
enum TerminalMode {
@@ -73,12 +74,19 @@ public:
TerminalOn = TerminalRun // default mode for ON
};
- QtcProcess(ProcessImpl processImpl, ProcessMode processMode, TerminalMode terminalMode,
- QObject *parent = nullptr);
- QtcProcess(ProcessImpl processImpl, QObject *parent = nullptr);
- QtcProcess(ProcessMode processMode, QObject *parent = nullptr);
- QtcProcess(TerminalMode terminalMode, QObject *parent = nullptr);
- QtcProcess(QObject *parent = nullptr);
+ 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;