From cb546a903e612d8b3e00137ea7a82ef10a6e808c Mon Sep 17 00:00:00 2001 From: Alexander Larsson Date: Thu, 13 Sep 2007 11:19:39 +0000 Subject: Clean up _g_vfs_daemon_call_async Original git commit by Alexander Larsson at 1170167354 +0100 svn path=/trunk/; revision=285 --- client/gfiledaemon.c | 41 +++++++++++++++++++++++++++++------------ client/gvfsdaemondbus.c | 10 ---------- client/gvfsdaemondbus.h | 7 +------ 3 files changed, 30 insertions(+), 28 deletions(-) (limited to 'client') diff --git a/client/gfiledaemon.c b/client/gfiledaemon.c index 6293ae84..9160ee81 100644 --- a/client/gfiledaemon.c +++ b/client/gfiledaemon.c @@ -207,6 +207,15 @@ do_sync_path_call (GFile *file, return reply; } +typedef void (*AsyncPathCallCallback) (DBusMessage *reply, + DBusConnection *connection, + GError *io_error, + GCancellable *cancellable, + gpointer op_callback, + gpointer op_callback_data, + gpointer callback_data); + + typedef struct { GFile *file; char *op; @@ -215,7 +224,7 @@ typedef struct { GError *io_error; gpointer op_callback; gpointer op_callback_data; - GVfsAsyncDBusCallback callback; + AsyncPathCallCallback callback; gpointer callback_data; } AsyncPathCall; @@ -238,18 +247,30 @@ do_async_path_call_error_idle (gpointer _data) { AsyncPathCall *data = _data; - data->callback (NULL, NULL, - data->io_error, - data->cancellable, - data->op_callback, - data->op_callback_data, + data->callback (NULL, NULL, data->io_error, data->cancellable, + data->op_callback, data->op_callback_data, data->callback_data); async_path_call_free (data); return FALSE; } + +static void +async_path_call_done (DBusMessage *reply, + DBusConnection *connection, + GError *io_error, + gpointer _data) +{ + AsyncPathCall *data = _data; + + data->callback (reply, connection, io_error, data->cancellable, + data->op_callback, data->op_callback_data, + data->callback_data); + async_path_call_free (data); +} + static void do_async_path_call_callback (GMountInfo *mount_info, gpointer _data, @@ -288,15 +309,11 @@ do_async_path_call_callback (GMountInfo *mount_info, _g_dbus_message_iter_copy (&arg_dest, &arg_source); } - /* TODO: ref GFile during async call? */ - _g_vfs_daemon_call_async (message, - data->op_callback, data->op_callback_data, - data->callback, data->callback_data, + async_path_call_done, data, data->cancellable); dbus_message_unref (message); - async_path_call_free (data); } static void @@ -305,7 +322,7 @@ do_async_path_call (GFile *file, GCancellable *cancellable, gpointer op_callback, gpointer op_callback_data, - GVfsAsyncDBusCallback callback, + AsyncPathCallCallback callback, gpointer callback_data, int first_arg_type, ...) diff --git a/client/gvfsdaemondbus.c b/client/gvfsdaemondbus.c index a3028ae7..a1612909 100644 --- a/client/gvfsdaemondbus.c +++ b/client/gvfsdaemondbus.c @@ -345,9 +345,6 @@ typedef struct { GVfsAsyncDBusCallback callback; gpointer callback_data; - gpointer op_callback; - gpointer op_callback_data; - GError *io_error; gulong cancelled_tag; } AsyncDBusCall; @@ -358,9 +355,6 @@ async_call_finish (AsyncDBusCall *async_call, { async_call->callback (reply, async_call->connection, async_call->io_error, - async_call->cancellable, - async_call->op_callback, - async_call->op_callback_data, async_call->callback_data); if (async_call->connection) @@ -627,8 +621,6 @@ open_connection_async (AsyncDBusCall *async_call) void _g_vfs_daemon_call_async (DBusMessage *message, - gpointer op_callback, - gpointer op_callback_data, GVfsAsyncDBusCallback callback, gpointer callback_data, GCancellable *cancellable) @@ -644,8 +636,6 @@ _g_vfs_daemon_call_async (DBusMessage *message, async_call->cancellable = g_object_ref (cancellable); async_call->callback = callback; async_call->callback_data = callback_data; - async_call->op_callback = op_callback; - async_call->op_callback_data = op_callback_data; async_call->connection = get_connection_for_async (async_call->dbus_id); if (async_call->connection == NULL) diff --git a/client/gvfsdaemondbus.h b/client/gvfsdaemondbus.h index f79d4265..711e8042 100644 --- a/client/gvfsdaemondbus.h +++ b/client/gvfsdaemondbus.h @@ -9,11 +9,8 @@ G_BEGIN_DECLS typedef void (*GVfsAsyncDBusCallback) (DBusMessage *reply, - DBusConnection *conntection, + DBusConnection *connection, GError *io_error, - GCancellable *cancellable, - gpointer op_callback, - gpointer op_callback_data, gpointer callback_data); typedef void (*GetFdAsyncCallback) (int fd, gpointer callback_data); @@ -34,8 +31,6 @@ void _g_dbus_connection_get_fd_async (DBusConnection GetFdAsyncCallback callback, gpointer callback_data); void _g_vfs_daemon_call_async (DBusMessage *message, - gpointer op_callback, - gpointer op_callback_data, GVfsAsyncDBusCallback callback, gpointer callback_data, GCancellable *cancellable); -- cgit v1.2.1