summaryrefslogtreecommitdiffstats
path: root/src/bluetoothsettings/bluez
diff options
context:
space:
mode:
Diffstat (limited to 'src/bluetoothsettings/bluez')
-rw-r--r--src/bluetoothsettings/bluez/bluetoothdevice_p.cpp7
-rw-r--r--src/bluetoothsettings/bluez/bluetoothdevice_p.h2
-rw-r--r--src/bluetoothsettings/bluez/bluez.pri4
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 \