diff options
author | hjk <hjk@qt.io> | 2022-03-02 15:00:31 +0100 |
---|---|---|
committer | hjk <hjk@qt.io> | 2022-03-02 15:36:02 +0000 |
commit | d439a7a25fd98535467d1f538ecf47f38ce91a52 (patch) | |
tree | ef5b8d11891a2d013404ce4a3020497a7302ac34 /src/plugins/projectexplorer/devicesupport/sshdeviceprocess.cpp | |
parent | a17374778a0f47e514e604a69e71681a68c36349 (diff) |
ProjectExplorer: Dissolve DeviceProcess
Move remaining device member to subclasses where needed.
Change-Id: I1a872315579c7f6529e8937d57511a9e99e06926
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Diffstat (limited to 'src/plugins/projectexplorer/devicesupport/sshdeviceprocess.cpp')
-rw-r--r-- | src/plugins/projectexplorer/devicesupport/sshdeviceprocess.cpp | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/plugins/projectexplorer/devicesupport/sshdeviceprocess.cpp b/src/plugins/projectexplorer/devicesupport/sshdeviceprocess.cpp index 8235818121..d249977338 100644 --- a/src/plugins/projectexplorer/devicesupport/sshdeviceprocess.cpp +++ b/src/plugins/projectexplorer/devicesupport/sshdeviceprocess.cpp @@ -51,6 +51,7 @@ public: SshDeviceProcessPrivate(SshDeviceProcess *q) : q(q) {} SshDeviceProcess * const q; + QSharedPointer<const IDevice> m_device; QSsh::SshConnection *connection = nullptr; QSsh::SshRemoteProcessPtr remoteProcess; QString processName; @@ -66,9 +67,10 @@ public: }; SshDeviceProcess::SshDeviceProcess(const IDevice::ConstPtr &device, QObject *parent) - : DeviceProcess(device, parent), + : QtcProcess(parent), d(std::make_unique<SshDeviceProcessPrivate>(this)) { + d->m_device = device; connect(&d->killTimer, &QTimer::timeout, this, &SshDeviceProcess::handleKillOperationTimeout); } @@ -82,6 +84,11 @@ void SshDeviceProcess::emitFinished() handleProcessFinished(QtcProcess::errorString()); } +const QSharedPointer<const IDevice> &SshDeviceProcess::device() const +{ + return d->m_device; +} + SshDeviceProcess::~SshDeviceProcess() { d->setState(SshDeviceProcessPrivate::Inactive); @@ -98,7 +105,7 @@ void SshDeviceProcess::start() d->processName = commandLine().executable().toString(); d->displayName = extraData("Ssh.X11ForwardToDisplay").toString(); - QSsh::SshConnectionParameters params = device()->sshParameters(); + QSsh::SshConnectionParameters params = d->m_device->sshParameters(); params.x11DisplayName = d->displayName; d->connection = QSsh::SshConnectionManager::acquireConnection(params); connect(d->connection, &QSsh::SshConnection::errorOccurred, @@ -287,7 +294,7 @@ void SshDeviceProcess::SshDeviceProcessPrivate::doSignal(Signal signal) break; case SshDeviceProcessPrivate::Connected: case SshDeviceProcessPrivate::ProcessRunning: - DeviceProcessSignalOperation::Ptr signalOperation = q->device()->signalOperation(); + DeviceProcessSignalOperation::Ptr signalOperation = m_device->signalOperation(); const qint64 processId = q->processId(); if (signal == Signal::Interrupt) { if (processId != 0) |