diff --git a/libnymea-core/hardware/network/networkdevicediscoveryimpl.cpp b/libnymea-core/hardware/network/networkdevicediscoveryimpl.cpp index 24e3cda1..6f86069b 100644 --- a/libnymea-core/hardware/network/networkdevicediscoveryimpl.cpp +++ b/libnymea-core/hardware/network/networkdevicediscoveryimpl.cpp @@ -431,7 +431,7 @@ void NetworkDeviceDiscoveryImpl::evaluateMonitor(NetworkDeviceMonitorImpl *monit // Try to ping first qCDebug(dcNetworkDeviceDiscovery()) << monitor << "try to ping" << monitor->networkDeviceInfo().address().toString(); - monitor->m_lastConnectionAttempt = currentDateTime; + monitor->setLastConnectionAttempt(currentDateTime); PingReply *reply = m_ping->ping(monitor->networkDeviceInfo().address()); connect(reply, &PingReply::finished, monitor, [=](){ @@ -457,7 +457,9 @@ void NetworkDeviceDiscoveryImpl::processArpTraffic(const QNetworkInterface &inte monitor->setLastSeen(now); monitor->setReachable(true); if (monitor->networkDeviceInfo().address() != address) { - monitor->m_networkDeviceInfo.setAddress(address); + NetworkDeviceInfo info = monitor->networkDeviceInfo(); + info.setAddress(address); + monitor->setNetworkDeviceInfo(info); qCDebug(dcNetworkDeviceDiscovery()) << "NetworkDeviceMonitor" << monitor << "ip address changed"; emit monitor->networkDeviceInfoChanged(monitor->networkDeviceInfo()); } @@ -546,7 +548,7 @@ void NetworkDeviceDiscoveryImpl::evaluateMonitors() evaluateMonitor(monitor); // Check if there is any monitor which has not be seen since - if (monitor->m_lastConnectionAttempt.isValid() && longerAgoThan(monitor->lastSeen(), m_monitorInterval)) { + if (monitor->lastConnectionAttempt().isValid() && longerAgoThan(monitor->lastSeen(), m_monitorInterval)) { monitorRequiresRediscovery = true; } } diff --git a/libnymea-core/hardware/network/networkdevicemonitorimpl.cpp b/libnymea-core/hardware/network/networkdevicemonitorimpl.cpp index 7cd5480b..a00f797f 100644 --- a/libnymea-core/hardware/network/networkdevicemonitorimpl.cpp +++ b/libnymea-core/hardware/network/networkdevicemonitorimpl.cpp @@ -82,7 +82,7 @@ QDateTime NetworkDeviceMonitorImpl::lastSeen() const return m_lastSeen; } -void NetworkDeviceMonitorImpl::setLastSeen(const QDateTime lastSeen) +void NetworkDeviceMonitorImpl::setLastSeen(const QDateTime &lastSeen) { if (m_lastSeen == lastSeen) return; @@ -92,4 +92,14 @@ void NetworkDeviceMonitorImpl::setLastSeen(const QDateTime lastSeen) emit lastSeenChanged(m_lastSeen); } +QDateTime NetworkDeviceMonitorImpl::lastConnectionAttempt() const +{ + return m_lastConnectionAttempt; +} + +void NetworkDeviceMonitorImpl::setLastConnectionAttempt(const QDateTime &lastConnectionAttempt) +{ + m_lastConnectionAttempt = lastConnectionAttempt; +} + } diff --git a/libnymea-core/hardware/network/networkdevicemonitorimpl.h b/libnymea-core/hardware/network/networkdevicemonitorimpl.h index 3eb802ba..57720ebe 100644 --- a/libnymea-core/hardware/network/networkdevicemonitorimpl.h +++ b/libnymea-core/hardware/network/networkdevicemonitorimpl.h @@ -42,8 +42,6 @@ class NetworkDeviceMonitorImpl : public NetworkDeviceMonitor { Q_OBJECT - friend class NetworkDeviceDiscoveryImpl; - public: explicit NetworkDeviceMonitorImpl(const MacAddress &macAddress, QObject *parent = nullptr); ~NetworkDeviceMonitorImpl(); @@ -57,7 +55,10 @@ public: void setReachable(bool reachable); QDateTime lastSeen() const override; - void setLastSeen(const QDateTime lastSeen); + void setLastSeen(const QDateTime &lastSeen); + + QDateTime lastConnectionAttempt() const; + void setLastConnectionAttempt(const QDateTime &lastConnectionAttempt); private: NetworkDeviceInfo m_networkDeviceInfo;