diff options
author | Alex Blasche <alexander.blasche@qt.io> | 2017-06-20 16:04:42 +0200 |
---|---|---|
committer | Alex Blasche <alexander.blasche@qt.io> | 2017-06-22 13:20:34 +0000 |
commit | 9ecd4d7bb7eb17babdb85762a197968f0f85a5e7 (patch) | |
tree | 7a1a78df929e4ac62b16db2675abc8cd99ad6026 /src/bluetooth | |
parent | 57b51b9830adb1c2428c21d674709943a7f85e2d (diff) |
Add new Bluez Device1 properties to QtBLuetooth
The org.bluez.Device1 interface got a few new properties which
this patch makes accessible to QtBluetooth. The new properties will be
used later on to enable new use cases and streamline existing code.
Change-Id: I8bd28b7df7ead5e46b70f6b7b387ab378f45e7a7
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Diffstat (limited to 'src/bluetooth')
-rw-r--r-- | src/bluetooth/bluez/bluez5_helper.cpp | 1 | ||||
-rw-r--r-- | src/bluetooth/bluez/bluez5_helper_p.h | 2 | ||||
-rw-r--r-- | src/bluetooth/bluez/device1_bluez5.cpp | 3 | ||||
-rw-r--r-- | src/bluetooth/bluez/device1_bluez5_p.h | 38 | ||||
-rw-r--r-- | src/bluetooth/bluez/org.bluez.Device1.xml | 10 |
5 files changed, 41 insertions, 13 deletions
diff --git a/src/bluetooth/bluez/bluez5_helper.cpp b/src/bluetooth/bluez/bluez5_helper.cpp index 8871a872..de41003f 100644 --- a/src/bluetooth/bluez/bluez5_helper.cpp +++ b/src/bluetooth/bluez/bluez5_helper.cpp @@ -69,6 +69,7 @@ bool isBluez5() qDBusRegisterMetaType<InterfaceList>(); qDBusRegisterMetaType<ManagedObjectList>(); + qDBusRegisterMetaType<ManufacturerDataList>(); QDBusPendingReply<ManagedObjectList> reply = manager.GetManagedObjects(); reply.waitForFinished(); diff --git a/src/bluetooth/bluez/bluez5_helper_p.h b/src/bluetooth/bluez/bluez5_helper_p.h index a46810fc..2d72caf1 100644 --- a/src/bluetooth/bluez/bluez5_helper_p.h +++ b/src/bluetooth/bluez/bluez5_helper_p.h @@ -57,8 +57,10 @@ typedef QMap<QString, QVariantMap> InterfaceList; typedef QMap<QDBusObjectPath, InterfaceList> ManagedObjectList; +typedef QMap<quint16, QDBusVariant> ManufacturerDataList; Q_DECLARE_METATYPE(InterfaceList) +Q_DECLARE_METATYPE(ManufacturerDataList) Q_DECLARE_METATYPE(ManagedObjectList) QT_BEGIN_NAMESPACE diff --git a/src/bluetooth/bluez/device1_bluez5.cpp b/src/bluetooth/bluez/device1_bluez5.cpp index a4c01d3f..491a365d 100644 --- a/src/bluetooth/bluez/device1_bluez5.cpp +++ b/src/bluetooth/bluez/device1_bluez5.cpp @@ -1,8 +1,7 @@ /* * This file was generated by qdbusxml2cpp version 0.8 - * Command line was: qdbusxml2cpp -p device1_bluez5 -v org.bluez.Device1.xml * - * qdbusxml2cpp is Copyright (C) 2015 The Qt Company Ltd. + * qdbusxml2cpp is Copyright (C) 2017 The Qt Company Ltd. * * This is an auto-generated file. * This file may have been hand-edited. Look for HAND-EDIT comments diff --git a/src/bluetooth/bluez/device1_bluez5_p.h b/src/bluetooth/bluez/device1_bluez5_p.h index d6181b34..4feb5318 100644 --- a/src/bluetooth/bluez/device1_bluez5_p.h +++ b/src/bluetooth/bluez/device1_bluez5_p.h @@ -1,15 +1,14 @@ /* * This file was generated by qdbusxml2cpp version 0.8 - * Command line was: qdbusxml2cpp -p device1_bluez5 -v org.bluez.Device1.xml * - * qdbusxml2cpp is Copyright (C) 2015 The Qt Company Ltd. + * qdbusxml2cpp is Copyright (C) 2017 The Qt Company Ltd. * * This is an auto-generated file. * Do not edit! All changes made to it will be lost. */ -#ifndef DEVICE1_BLUEZ5_H_1396951960 -#define DEVICE1_BLUEZ5_H_1396951960 +#ifndef DEVICE1_BLUEZ5_P_H +#define DEVICE1_BLUEZ5_P_H #include <QtCore/QObject> #include <QtCore/QByteArray> @@ -19,6 +18,7 @@ #include <QtCore/QStringList> #include <QtCore/QVariant> #include <QtDBus/QtDBus> +#include "bluez5_helper_p.h" /* * Proxy class for interface org.bluez.Device1 @@ -31,7 +31,7 @@ public: { return "org.bluez.Device1"; } public: - OrgBluezDevice1Interface(const QString &service, const QString &path, const QDBusConnection &connection, QObject *parent = 0); + OrgBluezDevice1Interface(const QString &service, const QString &path, const QDBusConnection &connection, QObject *parent = nullptr); ~OrgBluezDevice1Interface(); @@ -75,6 +75,10 @@ public: inline bool legacyPairing() const { return qvariant_cast< bool >(property("LegacyPairing")); } + Q_PROPERTY(ManufacturerDataList ManufacturerData READ manufacturerData) + inline ManufacturerDataList manufacturerData() const + { return qvariant_cast< ManufacturerDataList >(property("ManufacturerData")); } + Q_PROPERTY(QString Modalias READ modalias) inline QString modalias() const { return qvariant_cast< QString >(property("Modalias")); } @@ -91,12 +95,24 @@ public: inline short rSSI() const { return qvariant_cast< short >(property("RSSI")); } + Q_PROPERTY(QVariantMap ServiceData READ serviceData) + inline QVariantMap serviceData() const + { return qvariant_cast< QVariantMap >(property("ServiceData")); } + + Q_PROPERTY(bool ServicesResolved READ servicesResolved) + inline bool servicesResolved() const + { return qvariant_cast< bool >(property("ServicesResolved")); } + Q_PROPERTY(bool Trusted READ trusted WRITE setTrusted) inline bool trusted() const { return qvariant_cast< bool >(property("Trusted")); } inline void setTrusted(bool value) { setProperty("Trusted", QVariant::fromValue(value)); } + Q_PROPERTY(short TxPower READ txPower) + inline short txPower() const + { return qvariant_cast< short >(property("TxPower")); } + Q_PROPERTY(QStringList UUIDs READ uUIDs) inline QStringList uUIDs() const { return qvariant_cast< QStringList >(property("UUIDs")); } @@ -105,39 +121,39 @@ public Q_SLOTS: // METHODS inline QDBusPendingReply<> CancelPairing() { QList<QVariant> argumentList; - return asyncCallWithArgumentList(QLatin1String("CancelPairing"), argumentList); + return asyncCallWithArgumentList(QStringLiteral("CancelPairing"), argumentList); } inline QDBusPendingReply<> Connect() { QList<QVariant> argumentList; - return asyncCallWithArgumentList(QLatin1String("Connect"), argumentList); + return asyncCallWithArgumentList(QStringLiteral("Connect"), argumentList); } inline QDBusPendingReply<> ConnectProfile(const QString &UUID) { QList<QVariant> argumentList; argumentList << QVariant::fromValue(UUID); - return asyncCallWithArgumentList(QLatin1String("ConnectProfile"), argumentList); + return asyncCallWithArgumentList(QStringLiteral("ConnectProfile"), argumentList); } inline QDBusPendingReply<> Disconnect() { QList<QVariant> argumentList; - return asyncCallWithArgumentList(QLatin1String("Disconnect"), argumentList); + return asyncCallWithArgumentList(QStringLiteral("Disconnect"), argumentList); } inline QDBusPendingReply<> DisconnectProfile(const QString &UUID) { QList<QVariant> argumentList; argumentList << QVariant::fromValue(UUID); - return asyncCallWithArgumentList(QLatin1String("DisconnectProfile"), argumentList); + return asyncCallWithArgumentList(QStringLiteral("DisconnectProfile"), argumentList); } inline QDBusPendingReply<> Pair() { QList<QVariant> argumentList; - return asyncCallWithArgumentList(QLatin1String("Pair"), argumentList); + return asyncCallWithArgumentList(QStringLiteral("Pair"), argumentList); } Q_SIGNALS: // SIGNALS diff --git a/src/bluetooth/bluez/org.bluez.Device1.xml b/src/bluetooth/bluez/org.bluez.Device1.xml index 1f8fd2c1..554d0b53 100644 --- a/src/bluetooth/bluez/org.bluez.Device1.xml +++ b/src/bluetooth/bluez/org.bluez.Device1.xml @@ -27,5 +27,15 @@ <property name="UUIDs" type="as" access="read"></property> <property name="Modalias" type="s" access="read"></property> <property name="Adapter" type="o" access="read"></property> + <!-- ManufacturerData & ServiceData introduced by Bluez 5.31 --> + <property name="ManufacturerData" type="a{qv}" access="read"> + <annotation name="org.qtproject.QtDBus.QtTypeName" value="ManufacturerDataList"/> + </property> + <property name="ServiceData" type="a{sv}" access="read"> + <annotation name="org.qtproject.QtDBus.QtTypeName" value="QVariantMap"/> + </property> + <!-- TxPower and ServicesResolved introduced by Bluez 5.42 --> + <property name="TxPower" type="n" access="read"></property> + <property name="ServicesResolved" type="b" access="read"></property> </interface> </node> |