diff options
Diffstat (limited to 'src/bluetoothsettings')
-rw-r--r-- | src/bluetoothsettings/bluez/bluetoothdevice_p.cpp | 7 | ||||
-rw-r--r-- | src/bluetoothsettings/bluez/bluetoothdevice_p.h | 2 | ||||
-rw-r--r-- | src/bluetoothsettings/bluez/bluez.pri | 4 |
3 files changed, 12 insertions, 1 deletions
diff --git a/src/bluetoothsettings/bluez/bluetoothdevice_p.cpp b/src/bluetoothsettings/bluez/bluetoothdevice_p.cpp index 4705ac4..4440277 100644 --- a/src/bluetoothsettings/bluez/bluetoothdevice_p.cpp +++ b/src/bluetoothsettings/bluez/bluetoothdevice_p.cpp @@ -32,6 +32,8 @@ #include "objectmanager_interface.cpp" #include "moc_objectmanager_interface.cpp" #include "device1_interface.h" +#include "connman_technology_interface.h" +#include "connmancommon.h" BluetoothDevicePrivate::BluetoothDevicePrivate(BluetoothDevice *parent) : QObject(parent) ,q_ptr(parent) @@ -47,6 +49,9 @@ BluetoothDevicePrivate::BluetoothDevicePrivate(BluetoothDevice *parent) : QObjec m_manager = new OrgFreedesktopDBusObjectManagerInterface(QStringLiteral("org.bluez"), QStringLiteral("/"), QDBusConnection::systemBus(), this); + m_technology = new NetConnmanTechnologyInterface(QStringLiteral("net.connman"), + QStringLiteral("/net/connman/technology/bluetooth"), + QDBusConnection::systemBus(), this); QDBusPendingReply<ManagedObjectList> reply = m_manager->GetManagedObjects(); QDBusPendingCallWatcher *watcher = new QDBusPendingCallWatcher(reply, this); connect(watcher, &QDBusPendingCallWatcher::finished, @@ -70,6 +75,8 @@ void BluetoothDevicePrivate::setPowered(const bool& aPowered) if (!m_localDevice) return; + m_technology->SetProperty(PropertyPowered, QDBusVariant(QVariant(aPowered))); + if (aPowered) { m_localDevice->powerOn(); } diff --git a/src/bluetoothsettings/bluez/bluetoothdevice_p.h b/src/bluetoothsettings/bluez/bluetoothdevice_p.h index 432a7e7..c3cc3f3 100644 --- a/src/bluetoothsettings/bluez/bluetoothdevice_p.h +++ b/src/bluetoothsettings/bluez/bluetoothdevice_p.h @@ -47,6 +47,7 @@ class OrgBluezDevice1Interface; class OrgFreedesktopDBusObjectManagerInterface; +class NetConnmanTechnologyInterface; class BluetoothDevicePrivate : public QObject { @@ -88,6 +89,7 @@ private: QString m_adapter; DiscoveryModel *m_deviceModel; OrgFreedesktopDBusObjectManagerInterface *m_manager; + NetConnmanTechnologyInterface *m_technology; }; diff --git a/src/bluetoothsettings/bluez/bluez.pri b/src/bluetoothsettings/bluez/bluez.pri index b8d39fd..2aad8b8 100644 --- a/src/bluetoothsettings/bluez/bluez.pri +++ b/src/bluetoothsettings/bluez/bluez.pri @@ -2,10 +2,12 @@ QT += core dbus INCLUDEPATH += $${PWD} INCLUDEPATH += $${PWD}/bluez +INCLUDEPATH += $${PWD}/../../networksettings/connman DBUS_INTERFACES = \ $${PWD}/objectmanager.xml \ - $${PWD}/device1.xml + $${PWD}/device1.xml \ + $${PWD}/../../networksettings/connman/connman_technology.xml HEADERS += \ $$PWD/bluetoothdevice_p.h \ |