diff --git a/src/wirelessdevice.h b/src/wirelessdevice.h --- a/src/wirelessdevice.h +++ b/src/wirelessdevice.h @@ -128,6 +128,12 @@ * @return the bitrate in Kbit/s */ int bitRate() const; + /** + * Retrieves the timestamp of the last scan run on the device + * @since 5.62.0 + * @return the ms in CLOCK_BOOTTIME milliseconds + */ + qlonglong lastScan() const; /** * Retrieves the capabilities of this wifi network. * @@ -210,6 +216,12 @@ * A wireless network disappeared */ void networkDisappeared(const QString &ssid); + /** + * The LastScan property has changed, meaning a scan has just finished (time is in CLOCK_BOOTTIME milliseconds) + * @since 5.62.0 + * @see lastScan + */ + void lastScanChanged(const qlonglong timestamp); private: Q_DECLARE_PRIVATE(WirelessDevice) diff --git a/src/wirelessdevice.cpp b/src/wirelessdevice.cpp --- a/src/wirelessdevice.cpp +++ b/src/wirelessdevice.cpp @@ -127,6 +127,12 @@ return d->bitRate; } +qlonglong NetworkManager::WirelessDevice::lastScan() const +{ + Q_D(const WirelessDevice); + return d->lastScan; +} + NetworkManager::WirelessDevice::Capabilities NetworkManager::WirelessDevice::wirelessCapabilities() const { Q_D(const WirelessDevice); @@ -233,6 +239,9 @@ } else if (property == QLatin1String("WirelessCapabilities")) { wirelessCapabilities = q->convertCapabilities(value.toUInt()); Q_EMIT q->wirelessCapabilitiesChanged(wirelessCapabilities); + } else if (property == QLatin1String("LastScan")) { + lastScan = value.toLongLong(); + Q_EMIT q->lastScanChanged(lastScan); } else if (property == QLatin1String("AccessPoints")) { // TODO use this instead AccessPointAdded/Removed signals? } else { diff --git a/src/wirelessdevice_p.h b/src/wirelessdevice_p.h --- a/src/wirelessdevice_p.h +++ b/src/wirelessdevice_p.h @@ -43,6 +43,7 @@ WirelessDevice::OperationMode mode; uint bitRate; WirelessDevice::Capabilities wirelessCapabilities; + qlonglong lastScan; Q_DECLARE_PUBLIC(WirelessDevice) protected: