binding: bluetooth: allow connection to specified profile UUID 49/9749/3
authorMatt Ranostay <matt.ranostay@konsulko.com>
Fri, 16 Jun 2017 02:44:41 +0000 (19:44 -0700)
committerJan-Simon Moeller <jsmoeller@linuxfoundation.org>
Tue, 20 Jun 2017 09:49:26 +0000 (09:49 +0000)
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 <matt.ranostay@konsulko.com>
binding-bluetooth/bluetooth-api.c

index 3c8d86f..79cebee 100644 (file)
@@ -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);
     }