forked from qt-creator/qt-creator
Utils: Introduce a struct for QtcProcess ctor arguments
We'll need a lot of combinations. Change-Id: Ic92ad6fba1d96c42571be76f7c24b253f210b132 Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
This commit is contained in:
@@ -748,9 +748,11 @@ static QtcProcess::ProcessImpl defaultProcessImpl()
|
||||
return QtcProcess::ProcessLauncherImpl;
|
||||
}
|
||||
|
||||
QtcProcess::QtcProcess(ProcessImpl processImpl, ProcessMode processMode, TerminalMode terminalMode,
|
||||
QObject *parent)
|
||||
: QObject(parent), d(new QtcProcessPrivate(this, processImpl, processMode, terminalMode))
|
||||
QtcProcess::QtcProcess(const Setup &setup, QObject *parent)
|
||||
: QObject(parent),
|
||||
d(new QtcProcessPrivate(this,
|
||||
setup.processImpl == DefaultImpl ? defaultProcessImpl() : setup.processImpl,
|
||||
setup.processMode, setup.terminalMode))
|
||||
{
|
||||
static int qProcessExitStatusMeta = qRegisterMetaType<QProcess::ExitStatus>();
|
||||
static int qProcessProcessErrorMeta = qRegisterMetaType<QProcess::ProcessError>();
|
||||
@@ -758,17 +760,9 @@ QtcProcess::QtcProcess(ProcessImpl processImpl, ProcessMode processMode, Termina
|
||||
Q_UNUSED(qProcessProcessErrorMeta)
|
||||
}
|
||||
|
||||
QtcProcess::QtcProcess(ProcessImpl processImpl, QObject *parent)
|
||||
: QtcProcess(processImpl, ProcessMode::Reader, TerminalMode::TerminalOff, parent) {}
|
||||
|
||||
QtcProcess::QtcProcess(ProcessMode processMode, QObject *parent)
|
||||
: QtcProcess(defaultProcessImpl(), processMode, TerminalMode::TerminalOff, parent) {}
|
||||
|
||||
QtcProcess::QtcProcess(TerminalMode terminalMode, QObject *parent)
|
||||
: QtcProcess(defaultProcessImpl(), ProcessMode::Reader, terminalMode, parent) {}
|
||||
|
||||
QtcProcess::QtcProcess(QObject *parent)
|
||||
: QtcProcess(defaultProcessImpl(), ProcessMode::Reader, TerminalMode::TerminalOff, parent) {}
|
||||
: QtcProcess({}, parent)
|
||||
{}
|
||||
|
||||
QtcProcess::~QtcProcess()
|
||||
{
|
||||
|
@@ -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;
|
||||
|
Reference in New Issue
Block a user