aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/projectexplorer/devicesupport/sshdeviceprocess.cpp
diff options
context:
space:
mode:
authorhjk <hjk@qt.io>2022-03-02 15:00:31 +0100
committerhjk <hjk@qt.io>2022-03-02 15:36:02 +0000
commitd439a7a25fd98535467d1f538ecf47f38ce91a52 (patch)
treeef5b8d11891a2d013404ce4a3020497a7302ac34 /src/plugins/projectexplorer/devicesupport/sshdeviceprocess.cpp
parenta17374778a0f47e514e604a69e71681a68c36349 (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.cpp13
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)