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;
|
return QtcProcess::ProcessLauncherImpl;
|
||||||
}
|
}
|
||||||
|
|
||||||
QtcProcess::QtcProcess(ProcessImpl processImpl, ProcessMode processMode, TerminalMode terminalMode,
|
QtcProcess::QtcProcess(const Setup &setup, QObject *parent)
|
||||||
QObject *parent)
|
: QObject(parent),
|
||||||
: QObject(parent), d(new QtcProcessPrivate(this, processImpl, processMode, terminalMode))
|
d(new QtcProcessPrivate(this,
|
||||||
|
setup.processImpl == DefaultImpl ? defaultProcessImpl() : setup.processImpl,
|
||||||
|
setup.processMode, setup.terminalMode))
|
||||||
{
|
{
|
||||||
static int qProcessExitStatusMeta = qRegisterMetaType<QProcess::ExitStatus>();
|
static int qProcessExitStatusMeta = qRegisterMetaType<QProcess::ExitStatus>();
|
||||||
static int qProcessProcessErrorMeta = qRegisterMetaType<QProcess::ProcessError>();
|
static int qProcessProcessErrorMeta = qRegisterMetaType<QProcess::ProcessError>();
|
||||||
@@ -758,17 +760,9 @@ QtcProcess::QtcProcess(ProcessImpl processImpl, ProcessMode processMode, Termina
|
|||||||
Q_UNUSED(qProcessProcessErrorMeta)
|
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::QtcProcess(QObject *parent)
|
||||||
: QtcProcess(defaultProcessImpl(), ProcessMode::Reader, TerminalMode::TerminalOff, parent) {}
|
: QtcProcess({}, parent)
|
||||||
|
{}
|
||||||
|
|
||||||
QtcProcess::~QtcProcess()
|
QtcProcess::~QtcProcess()
|
||||||
{
|
{
|
||||||
|
@@ -62,7 +62,8 @@ class QTCREATOR_UTILS_EXPORT QtcProcess : public QObject
|
|||||||
public:
|
public:
|
||||||
enum ProcessImpl {
|
enum ProcessImpl {
|
||||||
QProcessImpl,
|
QProcessImpl,
|
||||||
ProcessLauncherImpl
|
ProcessLauncherImpl,
|
||||||
|
DefaultImpl,
|
||||||
};
|
};
|
||||||
|
|
||||||
enum TerminalMode {
|
enum TerminalMode {
|
||||||
@@ -73,12 +74,19 @@ public:
|
|||||||
TerminalOn = TerminalRun // default mode for ON
|
TerminalOn = TerminalRun // default mode for ON
|
||||||
};
|
};
|
||||||
|
|
||||||
QtcProcess(ProcessImpl processImpl, ProcessMode processMode, TerminalMode terminalMode,
|
struct Setup {
|
||||||
QObject *parent = nullptr);
|
Setup() {}
|
||||||
QtcProcess(ProcessImpl processImpl, QObject *parent = nullptr);
|
Setup(ProcessImpl processImpl) : processImpl(processImpl) {}
|
||||||
QtcProcess(ProcessMode processMode, QObject *parent = nullptr);
|
Setup(ProcessMode processMode) : processMode(processMode) {}
|
||||||
QtcProcess(TerminalMode terminalMode, QObject *parent = nullptr);
|
Setup(TerminalMode terminalMode) : terminalMode(terminalMode) {}
|
||||||
QtcProcess(QObject *parent = nullptr);
|
|
||||||
|
ProcessImpl processImpl = DefaultImpl;
|
||||||
|
ProcessMode processMode = ProcessMode::Reader;
|
||||||
|
TerminalMode terminalMode = TerminalOff;
|
||||||
|
};
|
||||||
|
|
||||||
|
QtcProcess(const Setup &setup = {}, QObject *parent = nullptr);
|
||||||
|
QtcProcess(QObject *parent);
|
||||||
~QtcProcess();
|
~QtcProcess();
|
||||||
|
|
||||||
ProcessMode processMode() const;
|
ProcessMode processMode() const;
|
||||||
|
Reference in New Issue
Block a user