aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMikel Astiz <mikel.astiz@bmw-carit.de>2012-05-30 17:50:22 +0200
committerLuiz Augusto von Dentz <luiz.von.dentz@intel.com>2012-05-31 16:16:08 +0300
commitd7a95be88f00892fd2b427705f7d868e15acfd5f (patch)
treec9e0da07af725b7535ec870c827706c4502201f9
parent6a7f0e2141983a6ad81cc8e4c09db7a492ed4980 (diff)
downloadobexd-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.c13
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",