From 97264e059163405e1570f3f07c2d8a8067fe4102 Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Fri, 18 Feb 2022 10:06:56 +0100 Subject: [PATCH] Ssh: Drop ProcessMode from c'tors and creator methods Change-Id: I2db51f26d9a841f60d5ab3722fa82b3a89d57146 Reviewed-by: Qt CI Bot Reviewed-by: hjk --- src/libs/ssh/sftpsession.cpp | 3 ++- src/libs/ssh/sshconnection.cpp | 9 ++++----- src/libs/ssh/sshconnection.h | 7 ++----- src/libs/ssh/sshprocess.cpp | 4 +--- src/libs/ssh/sshprocess.h | 2 +- src/libs/ssh/sshremoteprocess.cpp | 5 ++--- src/libs/ssh/sshremoteprocess.h | 3 +-- src/plugins/remotelinux/linuxdevice.cpp | 4 ++-- tests/auto/ssh/tst_ssh.cpp | 4 ++-- 9 files changed, 17 insertions(+), 24 deletions(-) diff --git a/src/libs/ssh/sftpsession.cpp b/src/libs/ssh/sftpsession.cpp index 8ecdfb374f7..6fbe26fb3ca 100644 --- a/src/libs/ssh/sftpsession.cpp +++ b/src/libs/ssh/sftpsession.cpp @@ -58,7 +58,7 @@ struct Command struct SftpSession::SftpSessionPrivate { - SshProcess sftpProc = {ProcessMode::Writer}; + SshProcess sftpProc; QStringList connectionArgs; QByteArray output; QQueue pendingCommands; @@ -111,6 +111,7 @@ static QByteArray prompt() { return "sftp> "; } SftpSession::SftpSession(const QStringList &connectionArgs) : d(new SftpSessionPrivate) { + d->sftpProc.setProcessMode(ProcessMode::Writer); d->connectionArgs = connectionArgs; connect(&d->sftpProc, &QtcProcess::started, [this] { qCDebug(sshLog) << "sftp process started"; diff --git a/src/libs/ssh/sshconnection.cpp b/src/libs/ssh/sshconnection.cpp index 5f8134e1c9a..8eebad4e2be 100644 --- a/src/libs/ssh/sshconnection.cpp +++ b/src/libs/ssh/sshconnection.cpp @@ -307,17 +307,16 @@ SshConnection::~SshConnection() delete d; } -SshRemoteProcessPtr SshConnection::createRemoteProcess(const QString &command, ProcessMode processMode) +SshRemoteProcessPtr SshConnection::createRemoteProcess(const QString &command) { QTC_ASSERT(state() == Connected, return SshRemoteProcessPtr()); return SshRemoteProcessPtr(new SshRemoteProcess(command, - d->connectionArgs(SshSettings::sshFilePath()), - processMode)); + d->connectionArgs(SshSettings::sshFilePath()))); } -SshRemoteProcessPtr SshConnection::createRemoteShell(ProcessMode processMode) +SshRemoteProcessPtr SshConnection::createRemoteShell() { - return createRemoteProcess({}, processMode); + return createRemoteProcess({}); } SftpTransferPtr SshConnection::createUpload(const FilesToTransfer &files, diff --git a/src/libs/ssh/sshconnection.h b/src/libs/ssh/sshconnection.h index 381bd463c91..74aa9bdf525 100644 --- a/src/libs/ssh/sshconnection.h +++ b/src/libs/ssh/sshconnection.h @@ -29,7 +29,6 @@ #include "ssh_global.h" #include -#include #include #include @@ -115,10 +114,8 @@ public: bool sharingEnabled() const; ~SshConnection(); - SshRemoteProcessPtr createRemoteProcess(const QString &command, Utils::ProcessMode processMode - = Utils::ProcessMode::Reader); - SshRemoteProcessPtr createRemoteShell(Utils::ProcessMode processMode - = Utils::ProcessMode::Reader); + SshRemoteProcessPtr createRemoteProcess(const QString &command); + SshRemoteProcessPtr createRemoteShell(); SftpTransferPtr createUpload(const FilesToTransfer &files, FileTransferErrorHandling errorHandlingMode); SftpTransferPtr createDownload(const FilesToTransfer &files, diff --git a/src/libs/ssh/sshprocess.cpp b/src/libs/ssh/sshprocess.cpp index 57dd9fc2836..d3063dfcb32 100644 --- a/src/libs/ssh/sshprocess.cpp +++ b/src/libs/ssh/sshprocess.cpp @@ -31,10 +31,8 @@ namespace QSsh { -SshProcess::SshProcess(Utils::ProcessMode processMode) +SshProcess::SshProcess() { - setProcessMode(processMode); - Utils::Environment env = Utils::Environment::systemEnvironment(); if (SshSettings::askpassFilePath().exists()) { env.set("SSH_ASKPASS", SshSettings::askpassFilePath().toUserOutput()); diff --git a/src/libs/ssh/sshprocess.h b/src/libs/ssh/sshprocess.h index 00610bcd69a..afde29c538c 100644 --- a/src/libs/ssh/sshprocess.h +++ b/src/libs/ssh/sshprocess.h @@ -34,7 +34,7 @@ namespace QSsh { class QSSH_EXPORT SshProcess : public Utils::QtcProcess { public: - SshProcess(Utils::ProcessMode processMode = Utils::ProcessMode::Reader); + SshProcess(); }; } // namespace QSsh diff --git a/src/libs/ssh/sshremoteprocess.cpp b/src/libs/ssh/sshremoteprocess.cpp index 0cb916acf13..a3c2a114813 100644 --- a/src/libs/ssh/sshremoteprocess.cpp +++ b/src/libs/ssh/sshremoteprocess.cpp @@ -49,9 +49,8 @@ using namespace QSsh::Internal; namespace QSsh { -SshRemoteProcess::SshRemoteProcess(const QString &command, const QStringList &connectionArgs, - Utils::ProcessMode processMode) - : SshProcess(processMode) +SshRemoteProcess::SshRemoteProcess(const QString &command, const QStringList &connectionArgs) + : SshProcess() { m_remoteCommand = command; m_connectionArgs = connectionArgs; diff --git a/src/libs/ssh/sshremoteprocess.h b/src/libs/ssh/sshremoteprocess.h index b5195454b50..c4a28680b2b 100644 --- a/src/libs/ssh/sshremoteprocess.h +++ b/src/libs/ssh/sshremoteprocess.h @@ -37,8 +37,7 @@ class QSSH_EXPORT SshRemoteProcess : public SshProcess Q_OBJECT public: - SshRemoteProcess(const QString &command, const QStringList &connectionArgs, - Utils::ProcessMode processMode = Utils::ProcessMode::Reader); + SshRemoteProcess(const QString &command, const QStringList &connectionArgs); void requestX11Forwarding(const QString &displayName); void start(); diff --git a/src/plugins/remotelinux/linuxdevice.cpp b/src/plugins/remotelinux/linuxdevice.cpp index d5387ef85fe..66fcc0ec0e2 100644 --- a/src/plugins/remotelinux/linuxdevice.cpp +++ b/src/plugins/remotelinux/linuxdevice.cpp @@ -209,8 +209,8 @@ public: // connect to it // wait for connected m_shell = new SshRemoteProcess("/bin/sh", - parameters.connectionOptions(SshSettings::sshFilePath()) << parameters.host(), - ProcessMode::Writer); + parameters.connectionOptions(SshSettings::sshFilePath()) << parameters.host()); + m_shell->setProcessMode(ProcessMode::Writer); m_shell->start(); const bool startOK = m_shell->waitForStarted(); if (!startOK) diff --git a/tests/auto/ssh/tst_ssh.cpp b/tests/auto/ssh/tst_ssh.cpp index 2c237bfbfa9..abf89f257c7 100644 --- a/tests/auto/ssh/tst_ssh.cpp +++ b/tests/auto/ssh/tst_ssh.cpp @@ -330,8 +330,8 @@ void tst_Ssh::remoteProcessInput() SshConnection connection(params); QVERIFY(waitForConnection(connection)); - SshRemoteProcessPtr catProcess = connection.createRemoteProcess("/bin/cat", - Utils::ProcessMode::Writer); + SshRemoteProcessPtr catProcess = connection.createRemoteProcess("/bin/cat"); + catProcess->setProcessMode(Utils::ProcessMode::Writer); QEventLoop loop; connect(catProcess.get(), &SshRemoteProcess::started, &loop, &QEventLoop::quit); connect(catProcess.get(), &SshRemoteProcess::done, &loop, &QEventLoop::quit);