From: Matt Ranostay Date: Fri, 16 Jun 2017 02:44:41 +0000 (-0700) Subject: binding: bluetooth: allow connection to specified profile UUID X-Git-Tag: 3.99.2~3 X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=commitdiff_plain;h=refs%2Fchanges%2F49%2F9749%2F3;p=apps%2Fsettings.git binding: bluetooth: allow connection to specified profile UUID Allow connect/disconnect to a single BT UUID profile that is specified for a device. Change-Id: Ia3c67fd5f0e9b6467aa7eaae2e75dddfe80251ae Bug-AGL: SPEC-669 Signed-off-by: Matt Ranostay --- diff --git a/binding-bluetooth/bluetooth-api.c b/binding-bluetooth/bluetooth-api.c index 3c8d86f..79cebee 100644 --- a/binding-bluetooth/bluetooth-api.c +++ b/binding-bluetooth/bluetooth-api.c @@ -485,6 +485,7 @@ static void bt_connect (struct afb_req request) LOGD("\n"); const char *value = afb_req_value (request, "value"); + const char *uuid = afb_req_value (request, "uuid"); int ret = 0; if (NULL == value) @@ -493,7 +494,7 @@ static void bt_connect (struct afb_req request) return; } - ret = device_connect(value, NULL); + ret = device_connect(value, uuid); if (0 == ret) { @@ -506,6 +507,11 @@ static void bt_connect (struct afb_req request) jstring = json_object_new_string(value); json_object_object_add(jresp, "Address", jstring); + if (uuid) { + jstring = json_object_new_string(uuid); + json_object_object_add(jresp, "UUID", jstring); + } + event_push(jresp, "connection"); afb_req_success (request, NULL, NULL); } @@ -522,6 +528,7 @@ static void bt_disconnect (struct afb_req request) LOGD("\n"); const char *value = afb_req_value (request, "value"); + const char *uuid = afb_req_value (request, "uuid"); int ret = 0; if (NULL == value) @@ -542,6 +549,11 @@ static void bt_disconnect (struct afb_req request) jstring = json_object_new_string(value); json_object_object_add(jresp, "Address", jstring); + if (uuid) { + jstring = json_object_new_string(uuid); + json_object_object_add(jresp, "UUID", jstring); + } + event_push(jresp, "connection"); afb_req_success (request, NULL, NULL); }