diff options
author | Mikel Astiz <mikel.astiz@bmw-carit.de> | 2012-05-30 17:50:22 +0200 |
---|---|---|
committer | Luiz Augusto von Dentz <luiz.von.dentz@intel.com> | 2012-05-31 16:16:08 +0300 |
commit | d7a95be88f00892fd2b427705f7d868e15acfd5f (patch) | |
tree | c9e0da07af725b7535ec870c827706c4502201f9 | |
parent | 6a7f0e2141983a6ad81cc8e4c09db7a492ed4980 (diff) | |
download | obexd-d7a95be88f00892fd2b427705f7d868e15acfd5f.tar.gz |
client: 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.
-rw-r--r-- | client/ftp.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/client/ftp.c b/client/ftp.c index 9b2c51d..8c72413 100644 --- a/client/ftp.c +++ b/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", |