summaryrefslogtreecommitdiffstats
path: root/binding-bluetooth/bluetooth-manager.c
diff options
context:
space:
mode:
authorMatt Ranostay <matt.ranostay@konsulko.com>2017-06-01 15:37:25 -0700
committerMatt Ranostay <matt.ranostay@konsulko.com>2017-06-01 16:24:33 -0700
commit950280341c4bf12b1f85ab730a061f7a9c893a92 (patch)
tree0b3f8db9a37cd24999fa2a3e973396488fc93f7d /binding-bluetooth/bluetooth-manager.c
parent37aacabc67fc2d3b759cdc85eb46705f729f8682 (diff)
binding: bluetooth: allow connection to select uuid profiles
Currenly the bluetooth binding connects to all available bluetooth profiles. This change allows you select an singular profile. Change-Id: Iccb016f132e0690699eefddee637ad91ea69e69c Bug-AGL: SPEC-638 Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
Diffstat (limited to 'binding-bluetooth/bluetooth-manager.c')
-rw-r--r--binding-bluetooth/bluetooth-manager.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/binding-bluetooth/bluetooth-manager.c b/binding-bluetooth/bluetooth-manager.c
index 7417624..525d034 100644
--- a/binding-bluetooth/bluetooth-manager.c
+++ b/binding-bluetooth/bluetooth-manager.c
@@ -1443,7 +1443,7 @@ int device_cancelPairing(const gchar * bdaddr)
* send connect command
* If success return 0, else return -1;
*/
-int device_connect(const gchar * bdaddr)
+int device_connect(const gchar * bdaddr, const gchar * uuid)
{
LOGD("\n%s\n",bdaddr);
@@ -1470,8 +1470,9 @@ int device_connect(const gchar * bdaddr)
devices_list_unlock();
value = g_dbus_connection_call_sync(cli.system_conn, BLUEZ_SERVICE,
- path, DEVICE_INTERFACE, "Connect",
- NULL, NULL, G_DBUS_CALL_FLAGS_NONE,
+ path, DEVICE_INTERFACE, uuid ? "ConnectProfile" : "Connect",
+ uuid ? g_variant_new("(s)", uuid) : NULL,
+ NULL, G_DBUS_CALL_FLAGS_NONE,
DBUS_REPLY_TIMEOUT, NULL, &error);
g_free(path);
@@ -1491,7 +1492,7 @@ int device_connect(const gchar * bdaddr)
* send disconnect command
* If success return 0, else return -1;
*/
-int device_disconnect(const gchar* bdaddr)
+int device_disconnect(const gchar* bdaddr, const gchar *uuid)
{
LOGD("\n%s\n",bdaddr);
@@ -1518,8 +1519,9 @@ int device_disconnect(const gchar* bdaddr)
devices_list_unlock();
value = g_dbus_connection_call_sync(cli.system_conn, BLUEZ_SERVICE,
- path, DEVICE_INTERFACE, "Disconnect",
- NULL, NULL, G_DBUS_CALL_FLAGS_NONE,
+ path, DEVICE_INTERFACE, uuid ? "DisconnectProfile" : "Disconnect",
+ uuid ? g_variant_new("(s)", uuid) : NULL,
+ NULL, G_DBUS_CALL_FLAGS_NONE,
DBUS_REPLY_TIMEOUT, NULL, &error);
g_free(path);