diff options
Diffstat (limited to 'network/server.c')
-rw-r--r-- | network/server.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/network/server.c b/network/server.c index 5cfb332e..80c8df9e 100644 --- a/network/server.c +++ b/network/server.c @@ -37,14 +37,15 @@ #define NETWORK_SERVER_INTERFACE "org.bluez.network.Server" +#include "common.h" #include "server.h" struct network_server { char *iface; /* Routing interface */ char *name; char *path; - char *uuid; /* UUID 128 */ dbus_bool_t secure; + uint16_t id; /* Service class identifier */ }; static DBusHandlerResult get_uuid(DBusConnection *conn, @@ -52,13 +53,15 @@ static DBusHandlerResult get_uuid(DBusConnection *conn, { struct network_server *ns = data; DBusMessage *reply; + const char *uuid; reply = dbus_message_new_method_return(msg); if (!reply) return DBUS_HANDLER_RESULT_NEED_MEMORY; + uuid = bnep_uuid(ns->id); dbus_message_append_args(reply, - DBUS_TYPE_STRING, &ns->uuid, + DBUS_TYPE_STRING, &uuid, DBUS_TYPE_INVALID); return send_message_and_unref(conn, reply); @@ -264,9 +267,6 @@ static void server_free(struct network_server *ns) if (ns->path) g_free(ns->path); - if (ns->uuid) - g_free(ns->uuid); - g_free(ns); } @@ -285,14 +285,14 @@ static const DBusObjectPathVTable server_table = { .unregister_function = server_unregister, }; -int server_register(DBusConnection *conn, const char *path, const char *uuid) +int server_register(DBusConnection *conn, const char *path, uint16_t id) { struct network_server *ns; if (!conn) return -EINVAL; - if (!path || !uuid) + if (!path) return -EINVAL; ns = g_new0(struct network_server, 1); @@ -305,7 +305,7 @@ int server_register(DBusConnection *conn, const char *path, const char *uuid) } ns->path = g_strdup(path); - ns->uuid = g_strdup(uuid); + ns->id = id; info("Registered server path:%s", ns->path); return 0; |