From 6e4fbed511d4362f9c64ebee9f7de04fe5088cef Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Mon, 10 Jun 2024 14:49:37 +0200 Subject: [PATCH] RemoteLinux: Serialize the "disconnected" state Otherwise permanently unreachable devices will keep causing annoying delays after every restart. Change-Id: I85c6fd0a6964c7f25e4b61b8eb092fc606b146ad Reviewed-by: Marcus Tillmanns --- src/plugins/remotelinux/linuxdevice.cpp | 15 +++++++++++++++ src/plugins/remotelinux/linuxdevice.h | 3 +++ 2 files changed, 18 insertions(+) diff --git a/src/plugins/remotelinux/linuxdevice.cpp b/src/plugins/remotelinux/linuxdevice.cpp index d5aaaad79d0..8be6a03d03b 100644 --- a/src/plugins/remotelinux/linuxdevice.cpp +++ b/src/plugins/remotelinux/linuxdevice.cpp @@ -58,6 +58,8 @@ using namespace Utils; namespace RemoteLinux { +const char DisconnectedKey[] = "Disconnected"; + const QByteArray s_pidMarker = "__qtc"; static Q_LOGGING_CATEGORY(linuxDeviceLog, "qtc.remotelinux.device", QtWarningMsg); @@ -1063,6 +1065,19 @@ LinuxDevice::LinuxDevice() }}); } +void LinuxDevice::fromMap(const Utils::Store &map) +{ + IDevice::fromMap(map); + d->m_disconnected = map.value(DisconnectedKey, false).toBool(); +} + +Store LinuxDevice::toMap() const +{ + Store map = IDevice::toMap(); + map.insert(DisconnectedKey, d->m_disconnected); + return map; +} + void LinuxDevice::_setOsType(Utils::OsType osType) { qCDebug(linuxDeviceLog) << "Setting OS type to" << osType << "for" << displayName(); diff --git a/src/plugins/remotelinux/linuxdevice.h b/src/plugins/remotelinux/linuxdevice.h index 06e0da3f2a8..48c22c52619 100644 --- a/src/plugins/remotelinux/linuxdevice.h +++ b/src/plugins/remotelinux/linuxdevice.h @@ -55,6 +55,9 @@ public: protected: LinuxDevice(); + void fromMap(const Utils::Store &map) override; + Utils::Store toMap() const override; + void _setOsType(Utils::OsType osType); class LinuxDevicePrivate *d;