From eae9cf3da1c2172f59e6232b7f159df87e0405b1 Mon Sep 17 00:00:00 2001 From: Mikel Astiz Date: Wed, 30 May 2012 17:50:22 +0200 Subject: [PATCH] obexd: Make FileTransfer.PutFile asynchronous There is no reason to have inconsistent behavior between GetFile and PutFile, in FileTransfer D-Bus API. Before this change, PutFile reported success immediately after queueing the transfer, even though the D-Bus signature includes the async flag. --- obexd/client/ftp.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/obexd/client/ftp.c b/obexd/client/ftp.c index 9b2c51dc9..8c7241310 100644 --- a/obexd/client/ftp.c +++ b/obexd/client/ftp.c @@ -143,7 +143,7 @@ static const GMarkupParser parser = { NULL }; -static void get_file_callback(struct obc_session *session, +static void transfer_callback(struct obc_session *session, struct obc_transfer *transfer, GError *err, void *user_data) { @@ -270,8 +270,8 @@ static DBusMessage *get_file(DBusConnection *connection, if (transfer == NULL) goto fail; - if (obc_session_queue(session, transfer, get_file_callback, message, - &err)) { + if (obc_session_queue(session, transfer, transfer_callback, message, + &err)) { dbus_message_ref(message); return NULL; } @@ -306,8 +306,11 @@ static DBusMessage *put_file(DBusConnection *connection, if (transfer == NULL) goto fail; - if (obc_session_queue(session, transfer, NULL, NULL, &err)) - return dbus_message_new_method_return(message); + if (obc_session_queue(session, transfer, transfer_callback, message, + &err)) { + dbus_message_ref(message); + return NULL; + } fail: reply = g_dbus_create_error(message, "org.openobex.Error.Failed", "%s", -- 2.47.3