From 08d4599f01911ff55347c6ea301f19cd92b6f618 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Simon=20St=C3=BCrz?= Date: Thu, 2 Jun 2022 14:07:35 +0200 Subject: [PATCH 1/3] Provide access to the network device discovery cache --- .../hardware/network/networkdevicediscoveryimpl.cpp | 5 +++++ libnymea-core/hardware/network/networkdevicediscoveryimpl.h | 2 ++ libnymea/network/networkdevicediscovery.h | 2 ++ 3 files changed, 9 insertions(+) diff --git a/libnymea-core/hardware/network/networkdevicediscoveryimpl.cpp b/libnymea-core/hardware/network/networkdevicediscoveryimpl.cpp index 5a7299dc..958f7c87 100644 --- a/libnymea-core/hardware/network/networkdevicediscoveryimpl.cpp +++ b/libnymea-core/hardware/network/networkdevicediscoveryimpl.cpp @@ -250,6 +250,11 @@ bool NetworkDeviceDiscoveryImpl::sendArpRequest(const QHostAddress &address) return false; } +QHash NetworkDeviceDiscoveryImpl::cache() const +{ + return m_networkInfoCache; +} + void NetworkDeviceDiscoveryImpl::setEnabled(bool enabled) { m_enabled = enabled; diff --git a/libnymea-core/hardware/network/networkdevicediscoveryimpl.h b/libnymea-core/hardware/network/networkdevicediscoveryimpl.h index b0243ab4..d5ce9cb5 100644 --- a/libnymea-core/hardware/network/networkdevicediscoveryimpl.h +++ b/libnymea-core/hardware/network/networkdevicediscoveryimpl.h @@ -78,6 +78,8 @@ public: bool sendArpRequest(const QHostAddress &address) override; + QHash cache() const override; + protected: void setEnabled(bool enabled) override; diff --git a/libnymea/network/networkdevicediscovery.h b/libnymea/network/networkdevicediscovery.h index c09cae55..3323bdf2 100644 --- a/libnymea/network/networkdevicediscovery.h +++ b/libnymea/network/networkdevicediscovery.h @@ -67,6 +67,8 @@ public: virtual bool sendArpRequest(const QHostAddress &address) = 0; + virtual QHash cache() const = 0; + signals: void runningChanged(bool running); void networkDeviceInfoCacheUpdated(); From 289998af320a277fe36411aa2ea01d756aa946b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Simon=20St=C3=BCrz?= Date: Thu, 2 Jun 2022 14:09:23 +0200 Subject: [PATCH 2/3] Align cache updated signal with method wording --- libnymea-core/hardware/network/networkdevicediscoveryimpl.cpp | 2 +- libnymea/network/networkdevicediscovery.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/libnymea-core/hardware/network/networkdevicediscoveryimpl.cpp b/libnymea-core/hardware/network/networkdevicediscoveryimpl.cpp index 958f7c87..7ba7898f 100644 --- a/libnymea-core/hardware/network/networkdevicediscoveryimpl.cpp +++ b/libnymea-core/hardware/network/networkdevicediscoveryimpl.cpp @@ -603,7 +603,7 @@ void NetworkDeviceDiscoveryImpl::finishDiscovery() m_running = false; emit runningChanged(m_running); - emit networkDeviceInfoCacheUpdated(); + emit cacheUpdated(); m_lastDiscovery = QDateTime::currentDateTime(); diff --git a/libnymea/network/networkdevicediscovery.h b/libnymea/network/networkdevicediscovery.h index 3323bdf2..422ae79f 100644 --- a/libnymea/network/networkdevicediscovery.h +++ b/libnymea/network/networkdevicediscovery.h @@ -71,7 +71,7 @@ public: signals: void runningChanged(bool running); - void networkDeviceInfoCacheUpdated(); + void cacheUpdated(); }; From fe317cfaaeb69a5e0e96692491a361533b4cc086 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Simon=20St=C3=BCrz?= Date: Fri, 3 Jun 2022 12:35:36 +0200 Subject: [PATCH 3/3] Inform about cache loading --- libnymea-core/hardware/network/networkdevicediscoveryimpl.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libnymea-core/hardware/network/networkdevicediscoveryimpl.cpp b/libnymea-core/hardware/network/networkdevicediscoveryimpl.cpp index 7ba7898f..ed86dc82 100644 --- a/libnymea-core/hardware/network/networkdevicediscoveryimpl.cpp +++ b/libnymea-core/hardware/network/networkdevicediscoveryimpl.cpp @@ -378,6 +378,8 @@ void NetworkDeviceDiscoveryImpl::loadNetworkDeviceCache() } m_cacheSettings->endGroup(); // NetworkDeviceInfos + qCInfo(dcNetworkDeviceDiscovery()) << "Loaded" << m_networkInfoCache.count() << "network device infos from cache."; + // We just did some housekeeping while loading from the cache m_lastCacheHousekeeping = QDateTime::currentDateTime(); }