diff options
Diffstat (limited to 'daemon/dbusconnector.cpp')
| -rw-r--r-- | daemon/dbusconnector.cpp | 77 |
1 files changed, 0 insertions, 77 deletions
diff --git a/daemon/dbusconnector.cpp b/daemon/dbusconnector.cpp deleted file mode 100644 index ccc127d..0000000 --- a/daemon/dbusconnector.cpp +++ /dev/null @@ -1,77 +0,0 @@ -#include "dbusconnector.h" - -#include <QBluetoothAddress> -#include <QBluetoothLocalDevice> -#include <QDebug> -#include <QDBusConnection> -#include <QDBusMessage> -#include <QDBusReply> -#include <QDBusArgument> -#include <QDBusObjectPath> - -//dbus-send --system --dest=org.bluez --print-reply / org.bluez.Manager.ListAdapters -//dbus-send --system --dest=org.bluez --print-reply $path org.bluez.Adapter.GetProperties -//dbus-send --system --dest=org.bluez --print-reply $devpath org.bluez.Device.GetProperties -//dbus-send --system --dest=org.bluez --print-reply $devpath org.bluez.Input.Connect - -DBusConnector::DBusConnector(QObject *parent) : - QObject(parent), l(metaObject()->className()) -{} - -bool DBusConnector::findPebble() -{ - QDBusConnection system = QDBusConnection::systemBus(); - - QDBusReply<QList<QDBusObjectPath>> ListAdaptersReply = system.call( - QDBusMessage::createMethodCall("org.bluez", "/", "org.bluez.Manager", - "ListAdapters")); - if (not ListAdaptersReply.isValid()) { - qCCritical(l) << ListAdaptersReply.error().message(); - return false; - } - - QList<QDBusObjectPath> adapters = ListAdaptersReply.value(); - - if (adapters.isEmpty()) { - qCDebug(l) << "No BT adapters found"; - return false; - } - - QDBusReply<QVariantMap> AdapterPropertiesReply = system.call( - QDBusMessage::createMethodCall("org.bluez", adapters[0].path(), "org.bluez.Adapter", - "GetProperties")); - if (not AdapterPropertiesReply.isValid()) { - qCCritical(l) << AdapterPropertiesReply.error().message(); - return false; - } - - QList<QDBusObjectPath> devices; - AdapterPropertiesReply.value()["Devices"].value<QDBusArgument>() >> devices; - - foreach (QDBusObjectPath path, devices) { - QDBusReply<QVariantMap> DevicePropertiesReply = system.call( - QDBusMessage::createMethodCall("org.bluez", path.path(), "org.bluez.Device", - "GetProperties")); - if (not DevicePropertiesReply.isValid()) { - qCCritical(l) << DevicePropertiesReply.error().message(); - continue; - } - - const QVariantMap &dict = DevicePropertiesReply.value(); - - QString tmp = dict["Name"].toString(); - qCDebug(l) << "Found BT device:" << tmp; - if (tmp.startsWith("Pebble")) { - qCDebug(l) << "Found Pebble:" << tmp; - QBluetoothAddress addr(dict["Address"].toString()); - QBluetoothLocalDevice dev; - if (dev.pairingStatus(addr) == QBluetoothLocalDevice::AuthorizedPaired) { - pebbleProps = dict; - emit pebbleChanged(); - return true; - } - } - } - - return false; -} |
