From 5c3a08bc4bf897a23e8e3e7e4a78231f3caed202 Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Tue, 15 Feb 2022 18:26:00 +0100 Subject: [PATCH] ProcessInterface: Simplify start() method Don't pass writeData, as that's available through ProcessSetupData. Change-Id: Ic55b21c6a3338168ee251bcc1c57594f50c52d2f Reviewed-by: Reviewed-by: hjk --- src/libs/utils/launchersocket.cpp | 3 +-- src/libs/utils/launchersocket.h | 1 - src/libs/utils/qtcprocess.cpp | 18 +++++++++--------- src/libs/utils/qtcprocess.h | 3 +-- 4 files changed, 11 insertions(+), 14 deletions(-) diff --git a/src/libs/utils/launchersocket.cpp b/src/libs/utils/launchersocket.cpp index f29596ffbb7..132c9254699 100644 --- a/src/libs/utils/launchersocket.cpp +++ b/src/libs/utils/launchersocket.cpp @@ -370,7 +370,6 @@ void CallerHandle::start(const QString &program, const QStringList &arguments, c QMutexLocker locker(&m_mutex); m_command = program; m_arguments = arguments; - m_writeData = writeData; m_processState = QProcess::Starting; StartProcessPacket *p = new StartProcessPacket(m_token); p->command = m_command; @@ -378,7 +377,7 @@ void CallerHandle::start(const QString &program, const QStringList &arguments, c p->env = m_environment.toStringList(); p->workingDir = m_workingDirectory.path(); p->processMode = m_processMode; - p->writeData = m_writeData; + p->writeData = writeData; p->channelMode = m_channelMode; p->standardInputFile = m_standardInputFile; p->belowNormalPriority = m_belowNormalPriority; diff --git a/src/libs/utils/launchersocket.h b/src/libs/utils/launchersocket.h index f341e4fb878..ab656607be2 100644 --- a/src/libs/utils/launchersocket.h +++ b/src/libs/utils/launchersocket.h @@ -179,7 +179,6 @@ private: QStringList m_arguments; Environment m_environment; FilePath m_workingDirectory; - QByteArray m_writeData; QProcess::ProcessChannelMode m_channelMode = QProcess::SeparateChannels; QString m_standardInputFile; diff --git a/src/libs/utils/qtcprocess.cpp b/src/libs/utils/qtcprocess.cpp index 405b83636b4..a9901694515 100644 --- a/src/libs/utils/qtcprocess.cpp +++ b/src/libs/utils/qtcprocess.cpp @@ -234,7 +234,7 @@ public: QByteArray readAllStandardError() override { QTC_CHECK(false); return {}; } void setEnvironment(const Environment &) override { QTC_CHECK(false); } - void start(const QString &, const QStringList &, const QByteArray &) override + void start(const QString &, const QStringList &) override { QTC_CHECK(false); } void customStart(const CommandLine &command, const Environment &environment) override { @@ -301,11 +301,11 @@ public: void setEnvironment(const Environment &environment) override { m_process->setProcessEnvironment(environment.toProcessEnvironment()); } - void start(const QString &program, const QStringList &arguments, const QByteArray &writeData) override + void start(const QString &program, const QStringList &arguments) override { ProcessStartHandler *handler = m_process->processStartHandler(); handler->setProcessMode(m_processMode); - handler->setWriteData(writeData); + handler->setWriteData(m_setup.m_writeData); if (m_setup.m_belowNormalPriority) handler->setBelowNormalPriority(); handler->setNativeArguments(m_setup.m_nativeArguments); @@ -399,7 +399,7 @@ public: void setEnvironment(const Environment &environment) override { m_handle->setEnvironment(environment); } - void start(const QString &program, const QStringList &arguments, const QByteArray &writeData) override + void start(const QString &program, const QStringList &arguments) override { m_handle->setWorkingDirectory(m_setup.m_workingDirectory); m_handle->setStandardInputFile(m_setup.m_standardInputFile); @@ -412,7 +412,7 @@ public: m_handle->setLowPriority(); if (m_setup.m_unixTerminalDisabled) m_handle->setUnixTerminalDisabled(); - m_handle->start(program, arguments, writeData); + m_handle->start(program, arguments, m_setup.m_writeData); } void terminate() override { cancel(); } // TODO: what are differences among terminate, kill and close? @@ -564,7 +564,7 @@ public: m_setup.m_nativeArguments = args; // Note: Arguments set with setNativeArgs will be appended to the ones // passed with start() below. - start(commandString, QStringList(), m_setup.m_writeData); + start(commandString, QStringList()); } else { if (!success) { q->setErrorString(tr("Error in command line.")); @@ -573,15 +573,15 @@ public: emit q->errorOccurred(QProcess::UnknownError); return; } - start(commandString, arguments.toUnixArgs(), m_setup.m_writeData); + start(commandString, arguments.toUnixArgs()); } } - void start(const QString &program, const QStringList &arguments, const QByteArray &writeData) + void start(const QString &program, const QStringList &arguments) { const FilePath programFilePath = resolve(m_setup.m_workingDirectory, FilePath::fromString(program)); if (programFilePath.exists() && programFilePath.isExecutableFile()) { - s_start.measureAndRun(&ProcessInterface::start, m_process, program, arguments, writeData); + s_start.measureAndRun(&ProcessInterface::start, m_process, program, arguments); } else { m_process->setErrorString(QLatin1String( "The program \"%1\" does not exist or is not executable.").arg(program)); diff --git a/src/libs/utils/qtcprocess.h b/src/libs/utils/qtcprocess.h index 3f97cb05a7a..06ffa5f6e5a 100644 --- a/src/libs/utils/qtcprocess.h +++ b/src/libs/utils/qtcprocess.h @@ -283,8 +283,7 @@ public: virtual QByteArray readAllStandardError() = 0; virtual void setEnvironment(const Environment &environment) = 0; - virtual void start(const QString &program, const QStringList &arguments, - const QByteArray &writeData) = 0; + virtual void start(const QString &program, const QStringList &arguments) = 0; virtual void customStart(const CommandLine &, const Environment &) { QTC_CHECK(false); } virtual bool isCustomStart() const { return false; } virtual void terminate() = 0;