linux-bluetooth.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/2] Report local services(UUIDs) through DBus
@ 2010-04-06 22:05 Francisco Alecrim
  2010-04-06 22:05 ` [PATCH 2/2] Correct UUIDs list to EIR Francisco Alecrim
  2010-04-07  1:20 ` [PATCH 1/2] Report local services(UUIDs) through DBus Gustavo F. Padovan
  0 siblings, 2 replies; 5+ messages in thread
From: Francisco Alecrim @ 2010-04-06 22:05 UTC (permalink / raw)
  To: linux-bluetooth; +Cc: Francisco Alecrim

* Include UUIDs field to method GetProperties(org.bluez.Adapter).
Applications can get local services(UUIDs) available through DBus.
* UUIDs per-adapter stored at btd_adapter to prevent some searches not
necessary regarding it requires information from access_db and service_db.
* Emit Adapter.PropertyChanged signal when UUIDs change.
---
 doc/adapter-api.txt |    5 +++
 src/adapter.c       |   88 ++++++++++++++++++++++++++++++++++++++++++++++++++-
 src/adapter.h       |    2 +
 src/sdpd-database.c |    4 ++
 test/list-devices   |    3 ++
 5 files changed, 101 insertions(+), 1 deletions(-)

diff --git a/doc/adapter-api.txt b/doc/adapter-api.txt
index 48cab40..6098c76 100644
--- a/doc/adapter-api.txt
+++ b/doc/adapter-api.txt
@@ -270,3 +270,8 @@ Properties	string Address [readonly]
 		array{object} Devices [readonly]
 
 			List of device object paths.
+
+		array{string} UUIDs [readonly]
+
+			List of 128-bit UUIDs that represents the available
+			local services.
diff --git a/src/adapter.c b/src/adapter.c
index 5fd0736..47cef90 100644
--- a/src/adapter.c
+++ b/src/adapter.c
@@ -37,6 +37,7 @@
 #include <bluetooth/hci.h>
 #include <bluetooth/hci_lib.h>
 #include <bluetooth/sdp.h>
+#include <bluetooth/sdp_lib.h>
 
 #include <glib.h>
 #include <dbus/dbus.h>
@@ -115,6 +116,7 @@ struct btd_adapter {
 	GSList *mode_sessions;		/* Request Mode sessions */
 	GSList *disc_sessions;		/* Discovery sessions */
 	guint scheduler_id;		/* Scheduler handle */
+	sdp_list_t *services;		/* Services associated to adapter */
 
 	struct hci_dev dev;		/* hci info */
 	int8_t tx_power;		/* inq response tx power level */
@@ -1033,6 +1035,75 @@ static void adapter_update_devices(struct btd_adapter *adapter)
 	g_free(devices);
 }
 
+static void adapter_emit_uuids_updated(struct btd_adapter *adapter)
+{
+	char **uuids;
+	int i;
+	sdp_list_t *list;
+
+	uuids = g_new0(char *, sdp_list_len(adapter->services) + 1);
+
+	for (i = 0, list = adapter->services; list; list = list->next, i++) {
+		sdp_record_t *rec = list->data;
+		uuids[i] = bt_uuid2string(&rec->svclass);
+	}
+
+	emit_array_property_changed(connection, adapter->path,
+			ADAPTER_INTERFACE, "UUIDs",
+			DBUS_TYPE_STRING, &uuids);
+
+	for (i = 0; uuids[i]; i++)
+		g_free(uuids[i]);
+	g_free(uuids);
+}
+
+/*
+ * adapter_services_inc_rem - Insert or remove UUID from adapter
+ */
+static void adapter_service_ins_rem(const bdaddr_t *bdaddr, void *rec,
+		gboolean insert)
+{
+	struct btd_adapter *adapter;
+	GSList *adapters;
+
+	adapters = NULL;
+
+	if (bacmp(bdaddr, BDADDR_ANY) != 0) {
+		/* Only one adapter */
+		adapter = manager_find_adapter(bdaddr);
+		if (!adapter)
+			return;
+
+		adapters = g_slist_append(adapters, adapter);
+	} else {
+		/* Emit D-Bus msg to all adapters */
+		adapters = manager_get_adapters();
+	}
+
+	for (; adapters; adapters = adapters->next) {
+		adapter = adapters->data;
+
+		if (insert == TRUE)
+			adapter->services = sdp_list_append(adapter->services, rec);
+		else
+			adapter->services = sdp_list_remove(adapter->services, rec);
+
+		adapter_emit_uuids_updated(adapter);
+	}
+}
+
+void adapter_service_insert(const bdaddr_t *bdaddr, void *rec)
+{
+	/* TRUE to include service*/
+	adapter_service_ins_rem(bdaddr, rec, TRUE);
+}
+
+void adapter_service_remove(const bdaddr_t *bdaddr, void *rec)
+{
+	/* FALSE to remove service*/
+	adapter_service_ins_rem(bdaddr, rec, FALSE);
+}
+
 struct btd_device *adapter_create_device(DBusConnection *conn,
 						struct btd_adapter *adapter,
 						const char *address)
@@ -1196,9 +1267,10 @@ static DBusMessage *get_properties(DBusConnection *conn,
 	DBusMessageIter dict;
 	char str[MAX_NAME_LENGTH + 1], srcaddr[18];
 	gboolean value;
-	char **devices;
+	char **devices, **uuids;
 	int i;
 	GSList *l;
+	sdp_list_t *list;
 
 	ba2str(&adapter->bdaddr, srcaddr);
 
@@ -1270,6 +1342,20 @@ static DBusMessage *get_properties(DBusConnection *conn,
 								&devices, i);
 	g_free(devices);
 
+	/* UUIDs */
+	uuids = g_new0(char *, sdp_list_len(adapter->services) + 1);
+
+	for (i = 0, list = adapter->services; list; list = list->next, i++) {
+		sdp_record_t *rec = list->data;
+		uuids[i] = bt_uuid2string(&rec->svclass);
+	}
+
+	dict_append_array(&dict, "UUIDs", DBUS_TYPE_STRING, &uuids, i);
+
+	for (i = 0; uuids[i]; i++)
+		g_free(uuids[i]);
+	g_free(uuids);
+
 	dbus_message_iter_close_container(&iter, &dict);
 
 	return reply;
diff --git a/src/adapter.h b/src/adapter.h
index 9b4ce10..e4307d8 100644
--- a/src/adapter.h
+++ b/src/adapter.h
@@ -121,6 +121,8 @@ void adapter_mode_changed(struct btd_adapter *adapter, uint8_t scan_mode);
 void adapter_setname_complete(bdaddr_t *local, uint8_t status);
 void adapter_update_tx_power(bdaddr_t *bdaddr, uint8_t status, void *ptr);
 void adapter_update_local_name(bdaddr_t *bdaddr, uint8_t status, void *ptr);
+void adapter_service_insert(const bdaddr_t *bdaddr, void *rec);
+void adapter_service_remove(const bdaddr_t *bdaddr, void *rec);
 void adapter_set_class_complete(bdaddr_t *bdaddr, uint8_t status);
 
 struct agent *adapter_get_agent(struct btd_adapter *adapter);
diff --git a/src/sdpd-database.c b/src/sdpd-database.c
index 07a0bc3..224a4e7 100644
--- a/src/sdpd-database.c
+++ b/src/sdpd-database.c
@@ -40,6 +40,7 @@
 
 #include "sdpd.h"
 #include "logging.h"
+#include "adapter.h"
 
 static sdp_list_t *service_db;
 static sdp_list_t *access_db;
@@ -183,6 +184,8 @@ void sdp_record_add(const bdaddr_t *device, sdp_record_t *rec)
 	dev->handle = rec->handle;
 
 	access_db = sdp_list_insert_sorted(access_db, dev, access_sort);
+
+	adapter_service_insert(device, rec);
 }
 
 static sdp_list_t *record_locate(uint32_t handle)
@@ -252,6 +255,7 @@ int sdp_record_remove(uint32_t handle)
 	if (p) {
 		a = (sdp_access_t *) p->data;
 		if (a) {
+			adapter_service_remove(&a->device, r);
 			access_db = sdp_list_remove(access_db, a);
 			access_free(a);
 		}
diff --git a/test/list-devices b/test/list-devices
index 511d0cf..9120714 100755
--- a/test/list-devices
+++ b/test/list-devices
@@ -40,6 +40,9 @@ for i in adapter_list:
 		if (key == "Devices"):
 			list = extract_objects(value)
 			print "    %s = %s" % (key, list)
+		elif (key == "UUIDs"):
+			list = extract_uuids(value)
+			print "    %s = %s" % (key, list)
 		else:
 			print "    %s = %s" % (key, value)
 
-- 
1.6.3.3


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH 2/2] Correct UUIDs list to EIR
  2010-04-06 22:05 [PATCH 1/2] Report local services(UUIDs) through DBus Francisco Alecrim
@ 2010-04-06 22:05 ` Francisco Alecrim
  2010-04-08  3:59   ` Marcel Holtmann
  2010-04-07  1:20 ` [PATCH 1/2] Report local services(UUIDs) through DBus Gustavo F. Padovan
  1 sibling, 1 reply; 5+ messages in thread
From: Francisco Alecrim @ 2010-04-06 22:05 UTC (permalink / raw)
  To: linux-bluetooth; +Cc: Francisco Alecrim

Correct create_ext_inquiry_response to response only UUIDs per-adapter.
---
 src/adapter.c      |    3 ++-
 src/sdpd-service.c |    5 +++--
 src/sdpd.h         |    3 ++-
 3 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/src/adapter.c b/src/adapter.c
index 47cef90..9e94d86 100644
--- a/src/adapter.c
+++ b/src/adapter.c
@@ -816,7 +816,8 @@ static void update_ext_inquiry_response(struct btd_adapter *adapter)
 
 	if (dev->ssp_mode > 0)
 		create_ext_inquiry_response((char *) dev->name,
-						adapter->tx_power, data);
+						adapter->tx_power, adapter->services,
+						data);
 
 	if (hci_write_ext_inquiry_response(dd, fec, data,
 						HCI_REQ_TIMEOUT) < 0)
diff --git a/src/sdpd-service.c b/src/sdpd-service.c
index a8f7d47..4551577 100644
--- a/src/sdpd-service.c
+++ b/src/sdpd-service.c
@@ -167,9 +167,10 @@ uint8_t get_service_classes(const bdaddr_t *bdaddr)
 }
 
 void create_ext_inquiry_response(const char *name,
-					int8_t tx_power, uint8_t *data)
+					int8_t tx_power, sdp_list_t *services,
+					uint8_t *data)
 {
-	sdp_list_t *list = sdp_get_record_list();
+	sdp_list_t *list = services;
 	uint8_t *ptr = data;
 	uint16_t uuid[24];
 	int i, index = 0;
diff --git a/src/sdpd.h b/src/sdpd.h
index 1352a83..1f0a229 100644
--- a/src/sdpd.h
+++ b/src/sdpd.h
@@ -95,4 +95,5 @@ int remove_record_from_server(uint32_t handle);
 
 uint8_t get_service_classes(const bdaddr_t *bdaddr);
 void create_ext_inquiry_response(const char *name,
-					int8_t tx_power, uint8_t *data);
+					int8_t tx_power, sdp_list_t *services,
+					uint8_t *data);
-- 
1.6.3.3


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH 1/2] Report local services(UUIDs) through DBus
  2010-04-06 22:05 [PATCH 1/2] Report local services(UUIDs) through DBus Francisco Alecrim
  2010-04-06 22:05 ` [PATCH 2/2] Correct UUIDs list to EIR Francisco Alecrim
@ 2010-04-07  1:20 ` Gustavo F. Padovan
  2010-04-08  3:57   ` Marcel Holtmann
  1 sibling, 1 reply; 5+ messages in thread
From: Gustavo F. Padovan @ 2010-04-07  1:20 UTC (permalink / raw)
  To: Francisco Alecrim; +Cc: linux-bluetooth

Hi Alecrim,

* Francisco Alecrim <francisco.alecrim@openbossa.org> [2010-04-06 18:05:19 -0400]:

> * Include UUIDs field to method GetProperties(org.bluez.Adapter).
> Applications can get local services(UUIDs) available through DBus.
> * UUIDs per-adapter stored at btd_adapter to prevent some searches not
> necessary regarding it requires information from access_db and service_db.
> * Emit Adapter.PropertyChanged signal when UUIDs change.
> ---
>  doc/adapter-api.txt |    5 +++
>  src/adapter.c       |   88 ++++++++++++++++++++++++++++++++++++++++++++++++++-
>  src/adapter.h       |    2 +
>  src/sdpd-database.c |    4 ++
>  test/list-devices   |    3 ++
>  5 files changed, 101 insertions(+), 1 deletions(-)
> 
> diff --git a/doc/adapter-api.txt b/doc/adapter-api.txt
> index 48cab40..6098c76 100644
> --- a/doc/adapter-api.txt
> +++ b/doc/adapter-api.txt
> @@ -270,3 +270,8 @@ Properties	string Address [readonly]
>  		array{object} Devices [readonly]
>  
>  			List of device object paths.
> +
> +		array{string} UUIDs [readonly]
> +
> +			List of 128-bit UUIDs that represents the available
> +			local services.
> diff --git a/src/adapter.c b/src/adapter.c
> index 5fd0736..47cef90 100644
> --- a/src/adapter.c
> +++ b/src/adapter.c
> @@ -37,6 +37,7 @@
>  #include <bluetooth/hci.h>
>  #include <bluetooth/hci_lib.h>
>  #include <bluetooth/sdp.h>
> +#include <bluetooth/sdp_lib.h>
>  
>  #include <glib.h>
>  #include <dbus/dbus.h>
> @@ -115,6 +116,7 @@ struct btd_adapter {
>  	GSList *mode_sessions;		/* Request Mode sessions */
>  	GSList *disc_sessions;		/* Discovery sessions */
>  	guint scheduler_id;		/* Scheduler handle */
> +	sdp_list_t *services;		/* Services associated to adapter */
>  
>  	struct hci_dev dev;		/* hci info */
>  	int8_t tx_power;		/* inq response tx power level */
> @@ -1033,6 +1035,75 @@ static void adapter_update_devices(struct btd_adapter *adapter)
>  	g_free(devices);
>  }
>  
> +static void adapter_emit_uuids_updated(struct btd_adapter *adapter)
> +{
> +	char **uuids;
> +	int i;
> +	sdp_list_t *list;
> +
> +	uuids = g_new0(char *, sdp_list_len(adapter->services) + 1);
> +
> +	for (i = 0, list = adapter->services; list; list = list->next, i++) {
> +		sdp_record_t *rec = list->data;
> +		uuids[i] = bt_uuid2string(&rec->svclass);
> +	}
> +
> +	emit_array_property_changed(connection, adapter->path,
> +			ADAPTER_INTERFACE, "UUIDs",
> +			DBUS_TYPE_STRING, &uuids);
> +
> +	for (i = 0; uuids[i]; i++)
> +		g_free(uuids[i]);
> +	g_free(uuids);
> +}
> +
> +/*
> + * adapter_services_inc_rem - Insert or remove UUID from adapter
> + */
> +static void adapter_service_ins_rem(const bdaddr_t *bdaddr, void *rec,
> +		gboolean insert)
> +{
> +	struct btd_adapter *adapter;
> +	GSList *adapters;
> +
> +	adapters = NULL;
> +
> +	if (bacmp(bdaddr, BDADDR_ANY) != 0) {
> +		/* Only one adapter */
> +		adapter = manager_find_adapter(bdaddr);
> +		if (!adapter)
> +			return;
> +
> +		adapters = g_slist_append(adapters, adapter);
> +	} else {
> +		/* Emit D-Bus msg to all adapters */
> +		adapters = manager_get_adapters();
> +	}

No need for braces here. :)

> +
> +	for (; adapters; adapters = adapters->next) {
> +		adapter = adapters->data;
> +
> +		if (insert == TRUE)
> +			adapter->services = sdp_list_append(adapter->services, rec);
> +		else
> +			adapter->services = sdp_list_remove(adapter->services, rec);
> +
> +		adapter_emit_uuids_updated(adapter);
> +	}
> +}
> +
> +void adapter_service_insert(const bdaddr_t *bdaddr, void *rec)
> +{
> +	/* TRUE to include service*/
> +	adapter_service_ins_rem(bdaddr, rec, TRUE);
> +}
> +
> +void adapter_service_remove(const bdaddr_t *bdaddr, void *rec)
> +{
> +	/* FALSE to remove service*/
> +	adapter_service_ins_rem(bdaddr, rec, FALSE);
> +}
> +
>  struct btd_device *adapter_create_device(DBusConnection *conn,
>  						struct btd_adapter *adapter,
>  						const char *address)
> @@ -1196,9 +1267,10 @@ static DBusMessage *get_properties(DBusConnection *conn,
>  	DBusMessageIter dict;
>  	char str[MAX_NAME_LENGTH + 1], srcaddr[18];
>  	gboolean value;
> -	char **devices;
> +	char **devices, **uuids;
>  	int i;
>  	GSList *l;
> +	sdp_list_t *list;
>  
>  	ba2str(&adapter->bdaddr, srcaddr);
>  
> @@ -1270,6 +1342,20 @@ static DBusMessage *get_properties(DBusConnection *conn,
>  								&devices, i);
>  	g_free(devices);
>  
> +	/* UUIDs */
> +	uuids = g_new0(char *, sdp_list_len(adapter->services) + 1);
> +
> +	for (i = 0, list = adapter->services; list; list = list->next, i++) {
> +		sdp_record_t *rec = list->data;
> +		uuids[i] = bt_uuid2string(&rec->svclass);
> +	}
> +
> +	dict_append_array(&dict, "UUIDs", DBUS_TYPE_STRING, &uuids, i);
> +
> +	for (i = 0; uuids[i]; i++)
> +		g_free(uuids[i]);
> +	g_free(uuids);
> +
>  	dbus_message_iter_close_container(&iter, &dict);
>  
>  	return reply;
> diff --git a/src/adapter.h b/src/adapter.h
> index 9b4ce10..e4307d8 100644
> --- a/src/adapter.h
> +++ b/src/adapter.h
> @@ -121,6 +121,8 @@ void adapter_mode_changed(struct btd_adapter *adapter, uint8_t scan_mode);
>  void adapter_setname_complete(bdaddr_t *local, uint8_t status);
>  void adapter_update_tx_power(bdaddr_t *bdaddr, uint8_t status, void *ptr);
>  void adapter_update_local_name(bdaddr_t *bdaddr, uint8_t status, void *ptr);
> +void adapter_service_insert(const bdaddr_t *bdaddr, void *rec);
> +void adapter_service_remove(const bdaddr_t *bdaddr, void *rec);
>  void adapter_set_class_complete(bdaddr_t *bdaddr, uint8_t status);
>  
>  struct agent *adapter_get_agent(struct btd_adapter *adapter);
> diff --git a/src/sdpd-database.c b/src/sdpd-database.c
> index 07a0bc3..224a4e7 100644
> --- a/src/sdpd-database.c
> +++ b/src/sdpd-database.c
> @@ -40,6 +40,7 @@
>  
>  #include "sdpd.h"
>  #include "logging.h"
> +#include "adapter.h"
>  
>  static sdp_list_t *service_db;
>  static sdp_list_t *access_db;
> @@ -183,6 +184,8 @@ void sdp_record_add(const bdaddr_t *device, sdp_record_t *rec)
>  	dev->handle = rec->handle;
>  
>  	access_db = sdp_list_insert_sorted(access_db, dev, access_sort);
> +
> +	adapter_service_insert(device, rec);
>  }
>  
>  static sdp_list_t *record_locate(uint32_t handle)
> @@ -252,6 +255,7 @@ int sdp_record_remove(uint32_t handle)
>  	if (p) {
>  		a = (sdp_access_t *) p->data;
>  		if (a) {
> +			adapter_service_remove(&a->device, r);
>  			access_db = sdp_list_remove(access_db, a);
>  			access_free(a);
>  		}
> diff --git a/test/list-devices b/test/list-devices
> index 511d0cf..9120714 100755
> --- a/test/list-devices
> +++ b/test/list-devices
> @@ -40,6 +40,9 @@ for i in adapter_list:
>  		if (key == "Devices"):
>  			list = extract_objects(value)
>  			print "    %s = %s" % (key, list)
> +		elif (key == "UUIDs"):
> +			list = extract_uuids(value)
> +			print "    %s = %s" % (key, list)
>  		else:
>  			print "    %s = %s" % (key, value)
>  
> -- 
> 1.6.3.3
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

-- 
Gustavo F. Padovan
http://padovan.org

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH 1/2] Report local services(UUIDs) through DBus
  2010-04-07  1:20 ` [PATCH 1/2] Report local services(UUIDs) through DBus Gustavo F. Padovan
@ 2010-04-08  3:57   ` Marcel Holtmann
  0 siblings, 0 replies; 5+ messages in thread
From: Marcel Holtmann @ 2010-04-08  3:57 UTC (permalink / raw)
  To: Gustavo F. Padovan; +Cc: Francisco Alecrim, linux-bluetooth

Hi Gustavo,

> > +/*
> > + * adapter_services_inc_rem - Insert or remove UUID from adapter
> > + */
> > +static void adapter_service_ins_rem(const bdaddr_t *bdaddr, void *rec,
> > +		gboolean insert)
> > +{
> > +	struct btd_adapter *adapter;
> > +	GSList *adapters;
> > +
> > +	adapters = NULL;
> > +
> > +	if (bacmp(bdaddr, BDADDR_ANY) != 0) {
> > +		/* Only one adapter */
> > +		adapter = manager_find_adapter(bdaddr);
> > +		if (!adapter)
> > +			return;
> > +
> > +		adapters = g_slist_append(adapters, adapter);
> > +	} else {
> > +		/* Emit D-Bus msg to all adapters */
> > +		adapters = manager_get_adapters();
> > +	}
> 
> No need for braces here. :)

because of the comment is is actually preferred to have braces in this
case. This is not for the sake of the compiler. It is purely for humans
to not disturb them with reading the code.

Regards

Marcel



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH 2/2] Correct UUIDs list to EIR
  2010-04-06 22:05 ` [PATCH 2/2] Correct UUIDs list to EIR Francisco Alecrim
@ 2010-04-08  3:59   ` Marcel Holtmann
  0 siblings, 0 replies; 5+ messages in thread
From: Marcel Holtmann @ 2010-04-08  3:59 UTC (permalink / raw)
  To: Francisco Alecrim; +Cc: linux-bluetooth

Hi Francisco,

> Correct create_ext_inquiry_response to response only UUIDs per-adapter.
> ---
>  src/adapter.c      |    3 ++-
>  src/sdpd-service.c |    5 +++--
>  src/sdpd.h         |    3 ++-
>  3 files changed, 7 insertions(+), 4 deletions(-)
> 
> diff --git a/src/adapter.c b/src/adapter.c
> index 47cef90..9e94d86 100644
> --- a/src/adapter.c
> +++ b/src/adapter.c
> @@ -816,7 +816,8 @@ static void update_ext_inquiry_response(struct btd_adapter *adapter)
>  
>  	if (dev->ssp_mode > 0)
>  		create_ext_inquiry_response((char *) dev->name,
> -						adapter->tx_power, data);
> +						adapter->tx_power, adapter->services,
> +						data);
>  
>  	if (hci_write_ext_inquiry_response(dd, fec, data,
>  						HCI_REQ_TIMEOUT) < 0)
> diff --git a/src/sdpd-service.c b/src/sdpd-service.c
> index a8f7d47..4551577 100644
> --- a/src/sdpd-service.c
> +++ b/src/sdpd-service.c
> @@ -167,9 +167,10 @@ uint8_t get_service_classes(const bdaddr_t *bdaddr)
>  }
>  
>  void create_ext_inquiry_response(const char *name,
> -					int8_t tx_power, uint8_t *data)
> +					int8_t tx_power, sdp_list_t *services,
> +					uint8_t *data)
>  {
> -	sdp_list_t *list = sdp_get_record_list();
> +	sdp_list_t *list = services;
>  	uint8_t *ptr = data;
>  	uint16_t uuid[24];
>  	int i, index = 0;
> diff --git a/src/sdpd.h b/src/sdpd.h
> index 1352a83..1f0a229 100644
> --- a/src/sdpd.h
> +++ b/src/sdpd.h
> @@ -95,4 +95,5 @@ int remove_record_from_server(uint32_t handle);
>  
>  uint8_t get_service_classes(const bdaddr_t *bdaddr);
>  void create_ext_inquiry_response(const char *name,
> -					int8_t tx_power, uint8_t *data);
> +					int8_t tx_power, sdp_list_t *services,
> +					uint8_t *data);

and this reminds me, that the list of UUIDs for local adapter and
inquiry response should be actually sorted. Currently we are a bit lazy
in that area. So please go ahead and fix that as well.

Regards

Marcel



^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2010-04-08  3:59 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-04-06 22:05 [PATCH 1/2] Report local services(UUIDs) through DBus Francisco Alecrim
2010-04-06 22:05 ` [PATCH 2/2] Correct UUIDs list to EIR Francisco Alecrim
2010-04-08  3:59   ` Marcel Holtmann
2010-04-07  1:20 ` [PATCH 1/2] Report local services(UUIDs) through DBus Gustavo F. Padovan
2010-04-08  3:57   ` Marcel Holtmann

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).