2011-02-04 14:01:07

by Elvis Pfutzenreuter

[permalink] [raw]
Subject: [PATCH] Add UUID property to GATT service object

---
attrib/client.c | 5 +++++
1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/attrib/client.c b/attrib/client.c
index 44638d3..e8b814d 100644
--- a/attrib/client.c
+++ b/attrib/client.c
@@ -940,6 +940,7 @@ static DBusMessage *prim_get_properties(DBusConnection *conn, DBusMessage *msg,
DBusMessageIter dict;
GSList *l;
char **chars;
+ char *uuid;
int i;

reply = dbus_message_new_method_return(msg);
@@ -962,6 +963,10 @@ static DBusMessage *prim_get_properties(DBusConnection *conn, DBusMessage *msg,

dict_append_array(&dict, "Characteristics", DBUS_TYPE_OBJECT_PATH,
&chars, i);
+ uuid = g_strdup(prim->att->uuid);
+ dict_append_entry(&dict, "UUID", DBUS_TYPE_STRING, &uuid);
+
+ g_free(uuid);
g_free(chars);

dbus_message_iter_close_container(&iter, &dict);
--
1.7.1



2011-02-08 23:00:58

by Johan Hedberg

[permalink] [raw]
Subject: Re: [PATCH] Add UUID property to GATT service object

Hi Elvis,

On Fri, Feb 04, 2011, Elvis Pf??tzenreuter wrote:
> @@ -962,6 +963,10 @@ static DBusMessage *prim_get_properties(DBusConnection *conn, DBusMessage *msg,
>
> dict_append_array(&dict, "Characteristics", DBUS_TYPE_OBJECT_PATH,
> &chars, i);
> + uuid = g_strdup(prim->att->uuid);
> + dict_append_entry(&dict, "UUID", DBUS_TYPE_STRING, &uuid);
> +
> + g_free(uuid);
> g_free(chars);
>
> dbus_message_iter_close_container(&iter, &dict);

I'd rather avoid the unnecessary memory allocation here. The following
should be enough:

const char *uuid;
...
uuid = prim->att->uuid;
dict_append_entry(..., DBUS_TYPE_STRING, &uuid);

Johan