From cbf8891907d2af6468ce712f5fecc2530faa3d3c Mon Sep 17 00:00:00 2001 From: Johan Hedberg Date: Fri, 21 Dec 2012 22:00:24 +0200 Subject: [PATCH] obexd: Implement Session transfer property --- obexd/src/manager.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/obexd/src/manager.c b/obexd/src/manager.c index 08b7776dd..83d22b5b3 100644 --- a/obexd/src/manager.c +++ b/obexd/src/manager.c @@ -344,6 +344,25 @@ static gboolean transfer_get_status(const GDBusPropertyTable *property, return TRUE; } +static gboolean transfer_get_session(const GDBusPropertyTable *property, + DBusMessageIter *iter, void *data) +{ + struct obex_transfer *transfer = data; + struct obex_session *session = transfer->session; + char *path; + + if (session == NULL) + return FALSE; + + path = g_strdup_printf("%s/session%u", OBEX_BASE_PATH, session->id); + + dbus_message_iter_append_basic(iter, DBUS_TYPE_OBJECT_PATH, &path); + + g_free(path); + + return TRUE; +} + static gboolean transfer_name_exists(const GDBusPropertyTable *property, void *data) { @@ -489,6 +508,7 @@ static const GDBusMethodTable transfer_methods[] = { static const GDBusPropertyTable transfer_properties[] = { { "Status", "s", transfer_get_status }, + { "Session", "o", transfer_get_session }, { "Name", "s", transfer_get_name, NULL, transfer_name_exists }, { "Type", "s", transfer_get_type, NULL, transfer_type_exists }, { "Size", "t", transfer_get_size, NULL, transfer_size_exists }, -- 2.47.3