Hello community, here is the log from the commit of package bluez-qt for openSUSE:Factory checked in at 2020-07-14 07:51:08 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/bluez-qt (Old) and /work/SRC/openSUSE:Factory/.bluez-qt.new.3060 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "bluez-qt" Tue Jul 14 07:51:08 2020 rev:67 rq:820334 version:5.72.0 Changes: -------- --- /work/SRC/openSUSE:Factory/bluez-qt/bluez-qt.changes 2020-06-16 13:39:37.080465873 +0200 +++ /work/SRC/openSUSE:Factory/.bluez-qt.new.3060/bluez-qt.changes 2020-07-14 07:51:14.820227156 +0200 @@ -1,0 +2,10 @@ +Sun Jul 5 07:54:59 UTC 2020 - Christophe Giboudeaux <[email protected]> + +- Update to 5.72.0 + * New feature release + * For more details please see: + * https://kde.org/announcements/kde-frameworks-5.72.0 +- Changes since 5.71.0: + * Expose the service advertisement data of a device + +------------------------------------------------------------------- Old: ---- bluez-qt-5.71.0.tar.xz bluez-qt-5.71.0.tar.xz.sig New: ---- bluez-qt-5.72.0.tar.xz bluez-qt-5.72.0.tar.xz.sig ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ bluez-qt.spec ++++++ --- /var/tmp/diff_new_pack.LL5wjX/_old 2020-07-14 07:51:15.544229500 +0200 +++ /var/tmp/diff_new_pack.LL5wjX/_new 2020-07-14 07:51:15.544229500 +0200 @@ -18,7 +18,7 @@ %define sonum 6 %define _libname KF5BluezQt -%define _tar_path 5.71 +%define _tar_path 5.72 # Full KF5 version (e.g. 5.33.0) %{!?_kf5_version: %global _kf5_version %{version}} # Last major and minor KF5 version (e.g. 5.33) @@ -26,7 +26,7 @@ # Only needed for the package signature condition %bcond_without lang Name: bluez-qt -Version: 5.71.0 +Version: 5.72.0 Release: 0 Summary: Async Bluez wrapper library License: LGPL-2.1-or-later @@ -37,7 +37,6 @@ Source1: https://download.kde.org/stable/frameworks/%{_tar_path}/%{name}-%{version}.tar.xz.sig Source2: frameworks.keyring %endif -BuildRequires: cmake >= 3.0 BuildRequires: extra-cmake-modules >= %{_kf5_bugfix_version} BuildRequires: fdupes BuildRequires: kf5-filesystem @@ -105,13 +104,13 @@ %postun -n lib%{_libname}%{sonum} -p /sbin/ldconfig %files -n lib%{_libname}%{sonum} -%license COPYING.LIB +%license LICENSES/* %doc README* -%{_libqt5_libdir}/lib%{_libname}*.so.* %{_kf5_debugdir}/bluezqt.categories +%{_libqt5_libdir}/lib%{_libname}*.so.* %files imports -%license COPYING.LIB +%license LICENSES/* %doc README* %{_kf5_qmldir}/ @@ -119,9 +118,10 @@ %{_udevrulesdir}/61-kde-bluetooth-rfkill.rules %files devel +%license LICENSES/* +%{_kf5_includedir}/ %{_kf5_libdir}/cmake/%{_libname}/ %{_kf5_libdir}/lib%{_libname}*.so -%{_kf5_includedir}/ %{_kf5_mkspecsdir}/qt_BluezQt.pri %changelog ++++++ bluez-qt-5.71.0.tar.xz -> bluez-qt-5.72.0.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bluez-qt-5.71.0/CMakeLists.txt new/bluez-qt-5.72.0/CMakeLists.txt --- old/bluez-qt-5.71.0/CMakeLists.txt 2020-06-06 21:33:12.000000000 +0200 +++ new/bluez-qt-5.72.0/CMakeLists.txt 2020-07-04 11:44:13.000000000 +0200 @@ -1,10 +1,10 @@ cmake_minimum_required(VERSION 3.5) -set(KF5_VERSION "5.71.0") # handled by release scripts +set(KF5_VERSION "5.72.0") # handled by release scripts project(BluezQt VERSION ${KF5_VERSION}) include(FeatureSummary) -find_package(ECM 5.71.0 NO_MODULE) +find_package(ECM 5.72.0 NO_MODULE) set_package_properties(ECM PROPERTIES TYPE REQUIRED DESCRIPTION "Extra CMake Modules." URL "https://commits.kde.org/extra-cmake-modules") feature_summary(WHAT REQUIRED_PACKAGES_NOT_FOUND FATAL_ON_MISSING_REQUIRED_PACKAGES) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bluez-qt-5.71.0/src/device.cpp new/bluez-qt-5.72.0/src/device.cpp --- old/bluez-qt-5.71.0/src/device.cpp 2020-06-06 21:33:12.000000000 +0200 +++ new/bluez-qt-5.72.0/src/device.cpp 2020-07-04 11:44:13.000000000 +0200 @@ -150,6 +150,11 @@ return d->m_modalias; } +QHash<QString, QByteArray> Device::serviceData() const +{ + return d->m_serviceData; +} + BatteryPtr Device::battery() const { return d->m_battery; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bluez-qt-5.71.0/src/device.h new/bluez-qt-5.72.0/src/device.h --- old/bluez-qt-5.71.0/src/device.h 2020-06-06 21:33:12.000000000 +0200 +++ new/bluez-qt-5.72.0/src/device.h 2020-07-04 11:44:13.000000000 +0200 @@ -285,6 +285,14 @@ QString modalias() const; /** + * Returns the service advertisement data. + * + * @returns A hash with keys being the UUIDs in and values being the raw service data value. + * @since 5.72 + */ + QHash<QString, QByteArray> serviceData() const; + + /** * Returns the battery interface for the device. * * @return null if device has no battery @@ -505,6 +513,12 @@ void modaliasChanged(const QString &modalias); /** + * Indicates that the device's service data has changed. + * @since 5.72 + */ + void serviceDataChanged(const QHash<QString, QByteArray> &serviceData); + + /** * Indicates that device's battery has changed. */ void batteryChanged(BatteryPtr battery); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bluez-qt-5.71.0/src/device_p.cpp new/bluez-qt-5.72.0/src/device_p.cpp --- old/bluez-qt-5.71.0/src/device_p.cpp 2020-06-06 21:33:12.000000000 +0200 +++ new/bluez-qt-5.72.0/src/device_p.cpp 2020-07-04 11:44:13.000000000 +0200 @@ -43,6 +43,26 @@ init(properties); } +static QHash<QString, QByteArray> toByteArrayHash(const QDBusArgument &arg) +{ + if (arg.currentType() != QDBusArgument::MapType) { + return {}; + } + + QHash<QString, QByteArray> result; + arg.beginMap(); + while (!arg.atEnd()) { + arg.beginMapEntry(); + QString key; + QDBusVariant value; + arg >> key >> value; + result.insert(key.toUpper(), value.variant().toByteArray()); + arg.endMapEntry(); + } + arg.endMap(); + return result; +} + void DevicePrivate::init(const QVariantMap &properties) { m_dbusProperties = new DBusProperties(Strings::orgBluez(), m_bluezDevice->path(), @@ -63,6 +83,7 @@ m_connected = properties.value(QStringLiteral("Connected")).toBool(); m_uuids = stringListToUpper(properties.value(QStringLiteral("UUIDs")).toStringList()); m_modalias = properties.value(QStringLiteral("Modalias")).toString(); + m_serviceData = toByteArrayHash(properties.value(QStringLiteral("ServiceData")).value<QDBusArgument>()); if (!m_rssi) { m_rssi = INVALID_RSSI; @@ -182,6 +203,8 @@ PROPERTY_CHANGED(m_modalias, toString, modaliasChanged); } else if (property == QLatin1String("UUIDs")) { PROPERTY_CHANGED2(m_uuids, stringListToUpper(value.toStringList()), uuidsChanged); + } else if (property == QLatin1String("ServiceData")) { + PROPERTY_CHANGED2(m_serviceData, toByteArrayHash(value.value<QDBusArgument>()), serviceDataChanged); } } @@ -200,6 +223,8 @@ PROPERTY_INVALIDATED(m_modalias, QString(), modaliasChanged); } else if (property == QLatin1String("UUIDs")) { PROPERTY_INVALIDATED(m_uuids, QStringList(), uuidsChanged); + } else if (property == QLatin1String("ServiceData")) { + PROPERTY_INVALIDATED(m_serviceData, (QHash<QString, QByteArray>()), serviceDataChanged); } } @@ -241,4 +266,12 @@ } } +void DevicePrivate::serviceDataChanged(const QHash<QString, QByteArray> &value) +{ + if (m_serviceData != value) { + m_serviceData = value; + Q_EMIT q.lock()->serviceDataChanged(m_serviceData); + } +} + } // namespace BluezQt diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bluez-qt-5.71.0/src/device_p.h new/bluez-qt-5.72.0/src/device_p.h --- old/bluez-qt-5.71.0/src/device_p.h 2020-06-06 21:33:12.000000000 +0200 +++ new/bluez-qt-5.72.0/src/device_p.h 2020-07-04 11:44:13.000000000 +0200 @@ -41,6 +41,7 @@ void aliasPropertyChanged(const QString &value); void addressPropertyChanged(const QString &value); void classPropertyChanged(quint32 value); + void serviceDataChanged(const QHash<QString, QByteArray> &value); QWeakPointer<Device> q; BluezDevice *m_bluezDevice; @@ -60,6 +61,7 @@ bool m_connected; QStringList m_uuids; QString m_modalias; + QHash<QString, QByteArray> m_serviceData; BatteryPtr m_battery; InputPtr m_input; MediaPlayerPtr m_mediaPlayer;
