aboutsummaryrefslogtreecommitdiffstats
path: root/meta-ivi/recipes-connectivity/bluez5/bluez5/0021-core-service-Add-btd_service_get_version.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-ivi/recipes-connectivity/bluez5/bluez5/0021-core-service-Add-btd_service_get_version.patch')
-rw-r--r--meta-ivi/recipes-connectivity/bluez5/bluez5/0021-core-service-Add-btd_service_get_version.patch71
1 files changed, 71 insertions, 0 deletions
diff --git a/meta-ivi/recipes-connectivity/bluez5/bluez5/0021-core-service-Add-btd_service_get_version.patch b/meta-ivi/recipes-connectivity/bluez5/bluez5/0021-core-service-Add-btd_service_get_version.patch
new file mode 100644
index 0000000..444ab5f
--- /dev/null
+++ b/meta-ivi/recipes-connectivity/bluez5/bluez5/0021-core-service-Add-btd_service_get_version.patch
@@ -0,0 +1,71 @@
+From 5d58c98b9e3b9024d33fcacd282a379931b670e5 Mon Sep 17 00:00:00 2001
+From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
+Date: Fri, 7 Feb 2014 15:23:52 +0200
+Subject: [PATCH 1/7] core/service: Add btd_service_get_version
+
+This adds btd_service_get_version which can be use to query service
+version.
+
+Conflicts:
+ src/service.c
+---
+ src/service.c | 23 +++++++++++++++++++++++
+ src/service.h | 1 +
+ 2 files changed, 24 insertions(+)
+
+diff --git a/src/service.c b/src/service.c
+index f7912f5..506c741 100644
+--- a/src/service.c
++++ b/src/service.c
+@@ -38,6 +38,7 @@
+
+ #include "lib/bluetooth.h"
+ #include "lib/sdp.h"
++#include "lib/sdp_lib.h"
+
+ #include "log.h"
+ #include "backtrace.h"
+@@ -319,6 +320,28 @@ int btd_service_get_error(const struct btd_service *service)
+ return service->err;
+ }
+
++uint16_t btd_service_get_version(const struct btd_service *service)
++{
++ const sdp_record_t *rec;
++ sdp_list_t *list;
++ sdp_profile_desc_t *desc;
++ uint16_t version;
++
++ rec = btd_device_get_record(service->device,
++ service->profile->remote_uuid);
++ if (rec == NULL)
++ return 0;
++
++ if (sdp_get_profile_descs(rec, &list) < 0)
++ return 0;
++
++ desc = list->data;
++ version = desc->version;
++ sdp_list_free(list, free);
++
++ return version;
++}
++
+ unsigned int btd_service_add_state_cb(btd_service_state_cb cb, void *user_data)
+ {
+ struct service_state_callback *state_cb;
+diff --git a/src/service.h b/src/service.h
+index c1f97f6..b95bd58 100644
+--- a/src/service.h
++++ b/src/service.h
+@@ -59,6 +59,7 @@ struct btd_device *btd_service_get_device(const struct btd_service *service);
+ struct btd_profile *btd_service_get_profile(const struct btd_service *service);
+ btd_service_state_t btd_service_get_state(const struct btd_service *service);
+ int btd_service_get_error(const struct btd_service *service);
++uint16_t btd_service_get_version(const struct btd_service *service);
+
+ unsigned int btd_service_add_state_cb(btd_service_state_cb cb,
+ void *user_data);
+--
+1.9.1
+