summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Winship <danw@gnome.org>2012-10-21 18:18:46 +0200
committerDan Winship <danw@gnome.org>2015-04-06 10:46:41 -0400
commit8f5d05c27fbf79e1a77d0d1ae294db7da4eeecd9 (patch)
treee98efd2b0f54dbd5c94792995da144328ac49f21
parent60968576962f10212caf9e59a41ef0a9f77e6165 (diff)
downloadgvfs-wip/gtask-porting.tar.gz
Port to GTaskwip/gtask-porting
-rw-r--r--client/gdaemonfile.c506
-rw-r--r--client/gdaemonfileenumerator.c99
-rw-r--r--client/gdaemonfileinputstream.c50
-rw-r--r--client/gdaemonfileoutputstream.c50
-rw-r--r--client/gdaemonmount.c18
-rw-r--r--client/gvfsdaemondbus.c25
-rw-r--r--client/gvfsdaemondbus.h4
-rw-r--r--client/gvfsiconloadable.c34
-rw-r--r--common/gmountsource.c154
-rw-r--r--common/gvfsdnssdresolver.c110
-rw-r--r--common/gvfsmountinfo.c326
-rw-r--r--daemon/gvfsafpconnection.c94
-rw-r--r--daemon/gvfsafpserver.c28
-rw-r--r--daemon/gvfsafpvolume.c646
-rw-r--r--daemon/gvfsbackend.c26
-rw-r--r--daemon/gvfsbackendafpbrowse.c24
-rw-r--r--daemon/soup-input-stream.c74
-rw-r--r--daemon/soup-output-stream.c36
-rw-r--r--monitor/gdu/ggdudrive.c150
-rw-r--r--monitor/gdu/ggdumount.c116
-rw-r--r--monitor/gdu/ggduvolume.c112
-rw-r--r--monitor/hal/ghaldrive.c48
-rw-r--r--monitor/hal/ghalmount.c28
-rw-r--r--monitor/hal/ghalvolume.c12
-rw-r--r--monitor/proxy/gproxydrive.c96
-rw-r--r--monitor/proxy/gproxymount.c36
-rw-r--r--monitor/proxy/gproxyvolume.c28
-rw-r--r--monitor/udisks2/gvfsudisks2drive.c22
-rw-r--r--monitor/udisks2/gvfsudisks2mount.c68
-rw-r--r--monitor/udisks2/gvfsudisks2utils.c48
-rw-r--r--monitor/udisks2/gvfsudisks2volume.c66
31 files changed, 1379 insertions, 1755 deletions
diff --git a/client/gdaemonfile.c b/client/gdaemonfile.c
index 15c368c8..1cd37c44 100644
--- a/client/gdaemonfile.c
+++ b/client/gdaemonfile.c
@@ -552,16 +552,14 @@ do_sync_2_path_call (GFile *file1,
typedef void (*AsyncPathCallCallback) (DBusMessage *reply,
DBusConnection *connection,
GMountInfo *mount_info,
- GSimpleAsyncResult *result,
+ GTask *task,
GCancellable *cancellable,
gpointer callback_data);
typedef struct {
- GSimpleAsyncResult *result;
GFile *file;
char *op;
- GCancellable *cancellable;
DBusMessage *args;
AsyncPathCallCallback callback;
gpointer callback_data;
@@ -575,12 +573,8 @@ async_path_call_free (AsyncPathCall *data)
if (data->notify)
data->notify (data->callback_data);
- if (data->result)
- g_object_unref (data->result);
g_object_unref (data->file);
g_free (data->op);
- if (data->cancellable)
- g_object_unref (data->cancellable);
if (data->args)
dbus_message_unref (data->args);
if (data->mount_info)
@@ -594,30 +588,25 @@ async_path_call_done (DBusMessage *reply,
GError *io_error,
gpointer _data)
{
- AsyncPathCall *data = _data;
- GSimpleAsyncResult *result;
+ GTask *task = _data;
+ AsyncPathCall *data = g_task_get_task_data (task);
if (io_error != NULL)
{
- g_simple_async_result_set_from_error (data->result, io_error);
- _g_simple_async_result_complete_with_cancellable (data->result, data->cancellable);
+ g_task_return_error (task, g_error_copy (io_error));
async_path_call_free (data);
}
else
{
- result = data->result;
- g_object_weak_ref (G_OBJECT (result), (GWeakNotify)async_path_call_free, data);
- data->result = NULL;
-
data->callback (reply,
connection,
data->mount_info,
- result,
- data->cancellable,
+ task,
+ g_task_get_cancellable (task),
data->callback_data);
/* Free data here, or later if callback ref:ed the result */
- g_object_unref (result);
+ g_object_unref (task);
}
}
@@ -626,7 +615,8 @@ do_async_path_call_callback (GMountInfo *mount_info,
gpointer _data,
GError *error)
{
- AsyncPathCall *data = _data;
+ GTask *task = _data;
+ AsyncPathCall *data = g_task_get_task_data (task);
GDaemonFile *daemon_file = G_DAEMON_FILE (data->file);
const char *path;
DBusMessage *message;
@@ -634,9 +624,7 @@ do_async_path_call_callback (GMountInfo *mount_info,
if (error != NULL)
{
- g_simple_async_result_set_from_error (data->result, error);
- _g_simple_async_result_complete_with_cancellable (data->result, data->cancellable);
- async_path_call_free (data);
+ g_task_return_error (data->result, g_error_copy (error));
return;
}
@@ -662,8 +650,8 @@ do_async_path_call_callback (GMountInfo *mount_info,
}
_g_vfs_daemon_call_async (message,
- async_path_call_done, data,
- data->cancellable);
+ async_path_call_done, task,
+ g_task_get_cancellable (task));
dbus_message_unref (message);
}
@@ -682,22 +670,20 @@ do_async_path_call (GFile *file,
{
GDaemonFile *daemon_file = G_DAEMON_FILE (file);
va_list var_args;
+ GTask *task;
AsyncPathCall *data;
- data = g_new0 (AsyncPathCall, 1);
-
- data->result = g_simple_async_result_new (G_OBJECT (file),
- op_callback, op_callback_data,
- NULL);
+ task = g_task_new (file, cancellable, op_callback, op_callback_data);
+ data = g_new0 (AsyncPathCall, 1);
data->file = g_object_ref (file);
data->op = g_strdup (op);
- if (cancellable)
- data->cancellable = g_object_ref (cancellable);
data->callback = callback;
data->callback_data = callback_data;
data->notify = notify;
+ g_task_set_task_data (task, data, (GDestroyNotify) async_path_call_free);
+
if (first_arg_type != 0)
{
data->args = dbus_message_new (DBUS_MESSAGE_TYPE_METHOD_CALL);
@@ -713,9 +699,9 @@ do_async_path_call (GFile *file,
_g_daemon_vfs_get_mount_info_async (daemon_file->mount_spec,
- daemon_file->path,
- do_async_path_call_callback,
- data);
+ daemon_file->path,
+ do_async_path_call_callback,
+ task);
}
@@ -891,7 +877,7 @@ static void
query_info_async_cb (DBusMessage *reply,
DBusConnection *connection,
GMountInfo *mount_info,
- GSimpleAsyncResult *result,
+ GTask *task,
GCancellable *cancellable,
gpointer callback_data)
{
@@ -906,10 +892,9 @@ query_info_async_cb (DBusMessage *reply,
if (!dbus_message_iter_init (reply, &iter) ||
(dbus_message_iter_get_arg_type (&iter) != DBUS_TYPE_STRUCT))
{
- g_simple_async_result_set_error (result,
- G_IO_ERROR, G_IO_ERROR_FAILED,
- _("Invalid return value from %s"), "query_info");
- _g_simple_async_result_complete_with_cancellable (result, cancellable);
+ g_task_return_new_error (task,
+ G_IO_ERROR, G_IO_ERROR_FAILED,
+ _("Invalid return value from %s"), "query_info");
return;
}
@@ -917,18 +902,15 @@ query_info_async_cb (DBusMessage *reply,
info = _g_dbus_get_file_info (&iter, &error);
if (info == NULL)
{
- g_simple_async_result_set_from_error (result, error);
- g_error_free (error);
- _g_simple_async_result_complete_with_cancellable (result, cancellable);
+ g_task_return_error (result, error);
return;
}
- file = G_FILE (g_async_result_get_source_object (G_ASYNC_RESULT (result)));
+ file = g_task_get_source_object (task);
add_metadata (file, attributes, info);
g_object_unref (file);
- g_simple_async_result_set_op_res_gpointer (result, info, g_object_unref);
- _g_simple_async_result_complete_with_cancellable (result, cancellable);
+ g_task_return_pointer (result, info, g_object_unref);
}
static void
@@ -964,77 +946,60 @@ g_daemon_file_query_info_finish (GFile *file,
GAsyncResult *res,
GError **error)
{
- GSimpleAsyncResult *simple = G_SIMPLE_ASYNC_RESULT (res);
- GFileInfo *info;
+ GTask *task = G_TASK (res);
- info = g_simple_async_result_get_op_res_gpointer (simple);
- if (info)
- return g_object_ref (info);
-
- return NULL;
+ return g_task_propagate_pointer (task, error);
}
-typedef struct {
- GSimpleAsyncResult *result;
- GCancellable *cancellable;
- gboolean can_seek;
-} GetFDData;
-
static void
read_async_get_fd_cb (int fd,
gpointer callback_data)
{
- GetFDData *data = callback_data;
+ GTask *task = callback_data;
+ gboolean can_seek = GPOINTER_TO_INT (g_task_get_task_data (task));
GFileInputStream *stream;
if (fd == -1)
{
- g_simple_async_result_set_error (data->result,
- G_IO_ERROR, G_IO_ERROR_FAILED,
- _("Couldn't get stream file descriptor"));
+ g_task_return_new_error (task,
+ G_IO_ERROR, G_IO_ERROR_FAILED,
+ _("Couldn't get stream file descriptor"));
}
else
{
- stream = g_daemon_file_input_stream_new (fd, data->can_seek);
- g_simple_async_result_set_op_res_gpointer (data->result, stream, g_object_unref);
+ stream = g_daemon_file_input_stream_new (fd, can_seek);
+ g_task_return_pointer (task, stream, g_object_unref);
}
- _g_simple_async_result_complete_with_cancellable (data->result, data->cancellable);
-
- g_object_unref (data->result);
- g_free (data);
+ g_object_unref (task);
}
static void
read_async_cb (DBusMessage *reply,
DBusConnection *connection,
GMountInfo *mount_info,
- GSimpleAsyncResult *result,
+ GTask *task,
GCancellable *cancellable,
gpointer callback_data)
{
guint32 fd_id;
dbus_bool_t can_seek;
- GetFDData *get_fd_data;
if (!dbus_message_get_args (reply, NULL,
DBUS_TYPE_UINT32, &fd_id,
DBUS_TYPE_BOOLEAN, &can_seek,
DBUS_TYPE_INVALID))
{
- g_simple_async_result_set_error (result,
- G_IO_ERROR, G_IO_ERROR_FAILED,
- _("Invalid return value from %s"), "open");
- _g_simple_async_result_complete_with_cancellable (result, cancellable);
+ g_task_return_new_error (task,
+ G_IO_ERROR, G_IO_ERROR_FAILED,
+ _("Invalid return value from %s"), "open");
return;
}
-
- get_fd_data = g_new0 (GetFDData, 1);
- get_fd_data->result = g_object_ref (result);
- get_fd_data->can_seek = can_seek;
+
+ g_task_set_task_data (task, GINT_TO_POINTER (can_seek), NULL);
_g_dbus_connection_get_fd_async (connection, fd_id,
- read_async_get_fd_cb, get_fd_data);
+ read_async_get_fd_cb, task);
}
static void
@@ -1062,14 +1027,9 @@ g_daemon_file_read_finish (GFile *file,
GAsyncResult *res,
GError **error)
{
- GSimpleAsyncResult *simple = G_SIMPLE_ASYNC_RESULT (res);
- gpointer op;
+ GTask *task = G_TASK (res);
- op = g_simple_async_result_get_op_res_gpointer (simple);
- if (op)
- return g_object_ref (op);
-
- return NULL;
+ return g_task_propagate_pointer (task, error);
}
@@ -1317,25 +1277,23 @@ mount_mountable_location_mounted_cb (GObject *source_object,
GAsyncResult *res,
gpointer user_data)
{
- GSimpleAsyncResult *result = user_data;
+ GFile *file = G_FILE (source_object);
+ GTask *task = user_data;
GError *error = NULL;
- if (!g_file_mount_enclosing_volume_finish (G_FILE (source_object), res, &error))
- {
- g_simple_async_result_set_from_error (result, error);
- g_error_free (error);
- }
-
- g_simple_async_result_complete (result);
- g_object_unref (result);
+ if (!g_file_mount_enclosing_volume_finish (file, res, &error))
+ g_task_return_error (task, error);
+ else
+ g_task_return_pointer (task, file, g_object_unref);
+ g_object_unref (task);
}
static void
mount_mountable_async_cb (DBusMessage *reply,
DBusConnection *connection,
GMountInfo *mount_info,
- GSimpleAsyncResult *result,
+ GTask *task,
GCancellable *cancellable,
gpointer callback_data)
{
@@ -1356,11 +1314,9 @@ mount_mountable_async_cb (DBusMessage *reply,
DBUS_TYPE_BOOLEAN, &must_mount_location,
0))
{
- g_simple_async_result_set_error (result,
- G_IO_ERROR, G_IO_ERROR_FAILED,
- _("Invalid return value from %s"), "call");
- _g_simple_async_result_complete_with_cancellable (result, cancellable);
-
+ g_task_return_new_error (task,
+ G_IO_ERROR, G_IO_ERROR_FAILED,
+ _("Invalid return value from %s"), "call");
return;
}
@@ -1373,10 +1329,9 @@ mount_mountable_async_cb (DBusMessage *reply,
mount_spec = g_mount_spec_from_dbus (&iter);
if (mount_spec == NULL)
{
- g_simple_async_result_set_error (result,
- G_IO_ERROR, G_IO_ERROR_FAILED,
- _("Invalid return value from %s"), "call");
- _g_simple_async_result_complete_with_cancellable (result, cancellable);
+ g_task_return_new_error (task,
+ G_IO_ERROR, G_IO_ERROR_FAILED,
+ _("Invalid return value from %s"), "call");
return;
}
@@ -1385,7 +1340,6 @@ mount_mountable_async_cb (DBusMessage *reply,
}
g_free (path);
- g_simple_async_result_set_op_res_gpointer (result, file, g_object_unref);
if (must_mount_location)
{
@@ -1394,11 +1348,10 @@ mount_mountable_async_cb (DBusMessage *reply,
mount_operation,
cancellable,
mount_mountable_location_mounted_cb,
- g_object_ref (result));
-
+ g_object_ref (task));
}
else
- _g_simple_async_result_complete_with_cancellable (result, cancellable);
+ g_task_return_pointer (task, file, g_object_unref);
}
static void
@@ -1438,25 +1391,20 @@ g_daemon_file_mount_mountable_finish (GFile *file,
GAsyncResult *result,
GError **error)
{
- GSimpleAsyncResult *simple = G_SIMPLE_ASYNC_RESULT (result);
- GFile *result_file;
-
- result_file = g_simple_async_result_get_op_res_gpointer (simple);
- if (result_file)
- return g_object_ref (result_file);
+ GTask *task = G_TASK (result);
- return NULL;
+ return g_task_propagate_pointer (task, error);
}
static void
start_mountable_async_cb (DBusMessage *reply,
DBusConnection *connection,
GMountInfo *mount_info,
- GSimpleAsyncResult *result,
+ GTask *task,
GCancellable *cancellable,
gpointer callback_data)
{
- _g_simple_async_result_complete_with_cancellable (result, cancellable);
+ g_task_return_boolean (task, TRUE);
}
static void
@@ -1503,11 +1451,11 @@ static void
stop_mountable_async_cb (DBusMessage *reply,
DBusConnection *connection,
GMountInfo *mount_info,
- GSimpleAsyncResult *result,
+ GTask *task,
GCancellable *cancellable,
gpointer callback_data)
{
- _g_simple_async_result_complete_with_cancellable (result, cancellable);
+ g_task_return_boolean (task, TRUE);
}
static void
@@ -1557,11 +1505,11 @@ static void
eject_mountable_async_cb (DBusMessage *reply,
DBusConnection *connection,
GMountInfo *mount_info,
- GSimpleAsyncResult *result,
+ GTask *task,
GCancellable *cancellable,
gpointer callback_data)
{
- _g_simple_async_result_complete_with_cancellable (result, cancellable);
+ g_task_return_boolean (task, TRUE);
}
static void
@@ -1628,11 +1576,11 @@ static void
unmount_mountable_async_cb (DBusMessage *reply,
DBusConnection *connection,
GMountInfo *mount_info,
- GSimpleAsyncResult *result,
+ GTask *task,
GCancellable *cancellable,
gpointer callback_data)
{
- _g_simple_async_result_complete_with_cancellable (result, cancellable);
+ g_task_return_boolean (task, TRUE);
}
static void
@@ -1681,11 +1629,11 @@ static void
poll_mountable_async_cb (DBusMessage *reply,
DBusConnection *connection,
GMountInfo *mount_info,
- GSimpleAsyncResult *result,
+ GTask *task,
GCancellable *cancellable,
gpointer callback_data)
{
- _g_simple_async_result_complete_with_cancellable (result, cancellable);
+ g_task_return_boolean (task, TRUE);
}
static void
@@ -1733,9 +1681,6 @@ g_daemon_file_unmount_mountable_finish (GFile *file,
typedef struct {
GFile *file;
GMountOperation *mount_operation;
- GAsyncReadyCallback callback;
- GCancellable *cancellable;
- gpointer user_data;
} MountData;
static void g_daemon_file_mount_enclosing_volume (GFile *location,
@@ -1750,32 +1695,13 @@ mount_reply (DBusMessage *reply,
GError *error,
gpointer user_data)
{
- MountData *data = user_data;
- GSimpleAsyncResult *res;
+ GTask *task = user_data;
+ GMountOperation *mount_operation = g_task_get_task_data (task);
if (reply == NULL)
- {
- res = g_simple_async_result_new_from_error (G_OBJECT (data->file),
- data->callback,
- data->user_data,
- error);
- }
+ g_task_return_error (task, g_error_copy (error));
else
- {
- res = g_simple_async_result_new (G_OBJECT (data->file),
- data->callback,
- data->user_data,
- g_daemon_file_mount_enclosing_volume);
- }
-
- _g_simple_async_result_complete_with_cancellable (res, data->cancellable);
-
- g_object_unref (data->file);
- if (data->cancellable)
- g_object_unref (data->cancellable);
- if (data->mount_operation)
- g_object_unref (data->mount_operation);
- g_free (data);
+ g_task_return_boolean (task, TRUE);
}
static void
@@ -1791,7 +1717,7 @@ g_daemon_file_mount_enclosing_volume (GFile *location,
GMountSpec *spec;
GMountSource *mount_source;
DBusMessageIter iter;
- MountData *data;
+ GTask *task;
daemon_file = G_DAEMON_FILE (location);
@@ -1810,20 +1736,13 @@ g_daemon_file_mount_enclosing_volume (GFile *location,
g_mount_source_to_dbus (mount_source, message);
g_object_unref (mount_source);
- data = g_new0 (MountData, 1);
- data->callback = callback;
- if (data->cancellable)
- data->cancellable = g_object_ref (data->cancellable);
- data->user_data = user_data;
- data->file = g_object_ref (location);
- if (mount_operation)
- data->mount_operation = g_object_ref (mount_operation);
+ task = g_task_new (location, cancellable, callback, user_data);
/* TODO: Ignoring cancellable here */
_g_dbus_connection_call_async (_g_daemon_vfs_get_async_bus (),
message,
G_VFS_DBUS_MOUNT_TIMEOUT_MSECS,
- mount_reply, data);
+ mount_reply, task);
dbus_message_unref (message);
}
@@ -1833,8 +1752,7 @@ g_daemon_file_mount_enclosing_volume_finish (GFile *location,
GAsyncResult *result,
GError **error)
{
- /* Errors handled in generic code */
- return TRUE;
+ return g_task_propagate_boolean (G_TASK (result));
}
static GFileInfo *
@@ -1879,7 +1797,7 @@ static void
query_fs_info_async_cb (DBusMessage *reply,
DBusConnection *connection,
GMountInfo *mount_info,
- GSimpleAsyncResult *result,
+ GTask *task,
GCancellable *cancellable,
gpointer callback_data)
{
@@ -1892,10 +1810,9 @@ query_fs_info_async_cb (DBusMessage *reply,
if (!dbus_message_iter_init (reply, &iter) ||
(dbus_message_iter_get_arg_type (&iter) != DBUS_TYPE_STRUCT))
{
- g_simple_async_result_set_error (result,
- G_IO_ERROR, G_IO_ERROR_FAILED,
- _("Invalid return value from %s"), "query_info");
- _g_simple_async_result_complete_with_cancellable (result, cancellable);
+ g_task_return_new_error (task,
+ G_IO_ERROR, G_IO_ERROR_FAILED,
+ _("Invalid return value from %s"), "query_info");
return;
}
@@ -1903,14 +1820,11 @@ query_fs_info_async_cb (DBusMessage *reply,
info = _g_dbus_get_file_info (&iter, &error);
if (info == NULL)
{
- g_simple_async_result_set_from_error (result, error);
- g_error_free (error);
- _g_simple_async_result_complete_with_cancellable (result, cancellable);
+ g_task_return_error (task, error);
return;
}
- g_simple_async_result_set_op_res_gpointer (result, info, g_object_unref);
- _g_simple_async_result_complete_with_cancellable (result, cancellable);
+ g_task_return_pointer (result, info, g_object_unref);
}
static void
@@ -1935,14 +1849,9 @@ g_daemon_file_query_filesystem_info_finish (GFile *file,
GAsyncResult *res,
GError **error)
{
- GSimpleAsyncResult *simple = G_SIMPLE_ASYNC_RESULT (res);
- GFileInfo *info;
+ GTask *task = G_TASK (res);
- info = g_simple_async_result_get_op_res_gpointer (simple);
- if (info)
- return g_object_ref (info);
-
- return NULL;
+ return g_task_propagate_pointer (task, error);
}
static GMount *
@@ -2621,41 +2530,38 @@ g_daemon_file_monitor_file (GFile* file,
typedef struct
{
- GSimpleAsyncResult *result;
- GCancellable *cancellable;
dbus_bool_t can_seek;
guint64 initial_offset;
+} StreamOpenParams;
+
+static void
+free_stream_open_params (StreamOpenParams *params)
+{
+ g_slice_free (StreamOpenParams, params);
}
-StreamOpenParams;
static void
-stream_open_cb (gint fd, StreamOpenParams *params)
+stream_open_cb (gint fd, GTask *task)
{
+ StreamOpenParams *params = g_task_get_task_data (task);
GFileOutputStream *output_stream;
if (fd == -1)
{
- g_simple_async_result_set_error (params->result, G_IO_ERROR, G_IO_ERROR_FAILED,
- "%s", _("Didn't get stream file descriptor"));
- goto out;
+ g_task_return_new_error (task, G_IO_ERROR, G_IO_ERROR_FAILED,
+ "%s", _("Didn't get stream file descriptor"));
+ return;
}
output_stream = g_daemon_file_output_stream_new (fd, params->can_seek, params->initial_offset);
- g_simple_async_result_set_op_res_gpointer (params->result, output_stream, g_object_unref);
-
-out:
- _g_simple_async_result_complete_with_cancellable (params->result, params->cancellable);
- if (params->cancellable)
- g_object_unref (params->cancellable);
- g_object_unref (params->result);
- g_slice_free (StreamOpenParams, params);
+ g_task_return_pointer (task, output_stream, g_object_unref);
}
static void
append_to_async_cb (DBusMessage *reply,
DBusConnection *connection,
GMountInfo *mount_info,
- GSimpleAsyncResult *result,
+ GTask *task,
GCancellable *cancellable,
gpointer callback_data)
{
@@ -2670,21 +2576,16 @@ append_to_async_cb (DBusMessage *reply,
DBUS_TYPE_UINT64, &open_params->initial_offset,
DBUS_TYPE_INVALID))
{
- g_simple_async_result_set_error (result, G_IO_ERROR, G_IO_ERROR_FAILED,
- _("Invalid return value from %s"), "open");
- goto failure;
+ g_task_return_new_error (task, G_IO_ERROR, G_IO_ERROR_FAILED,
+ _("Invalid return value from %s"), "open");
+ g_slice_free (StreamOpenParams, open_params);
+ return;
}
- open_params->result = g_object_ref (result);
- if (cancellable)
- open_params->cancellable = g_object_ref (cancellable);
- _g_dbus_connection_get_fd_async (connection, fd_id,
- (GetFdAsyncCallback) stream_open_cb, open_params);
- return;
+ g_task_set_task_data (task, open_params, (GDestroyNotify) free_stream_open_params);
-failure:
- g_slice_free (StreamOpenParams, open_params);
- _g_simple_async_result_complete_with_cancellable (result, cancellable);
+ _g_dbus_connection_get_fd_async (connection, fd_id,
+ (GetFdAsyncCallback) stream_open_cb, task);
}
static void
@@ -2726,21 +2627,16 @@ g_daemon_file_append_to_finish (GFile *file,
GAsyncResult *res,
GError **error)
{
- GSimpleAsyncResult *simple = G_SIMPLE_ASYNC_RESULT (res);
- GFileOutputStream *output_stream;
+ GTask *task = G_TASK (res);
- output_stream = g_simple_async_result_get_op_res_gpointer (simple);
- if (output_stream)
- return g_object_ref (output_stream);
-
- return NULL;
+ return g_task_propagate_pointer (task, error);
}
static void
create_async_cb (DBusMessage *reply,
DBusConnection *connection,
GMountInfo *mount_info,
- GSimpleAsyncResult *result,
+ GTask *task,
GCancellable *cancellable,
gpointer callback_data)
{
@@ -2755,19 +2651,16 @@ create_async_cb (DBusMessage *reply,
DBUS_TYPE_UINT64, &open_params->initial_offset,
DBUS_TYPE_INVALID))
{
- g_simple_async_result_set_error (result, G_IO_ERROR, G_IO_ERROR_FAILED,
- _("Invalid return value from %s"), "open");
- goto failure;
+ g_task_return_new_error (task, G_IO_ERROR, G_IO_ERROR_FAILED,
+ _("Invalid return value from %s"), "open");
+ g_slice_free (StreamOpenParams, open_params);
+ return;
}
- open_params->result = g_object_ref (result);
- _g_dbus_connection_get_fd_async (connection, fd_id,
- (GetFdAsyncCallback) stream_open_cb, open_params);
- return;
+ g_task_set_task_data (task, open_params, (GDestroyNotify) free_stream_open_params);
-failure:
- g_slice_free (StreamOpenParams, open_params);
- _g_simple_async_result_complete_with_cancellable (result, cancellable);
+ _g_dbus_connection_get_fd_async (connection, fd_id,
+ (GetFdAsyncCallback) stream_open_cb, task);
}
static void
@@ -2809,39 +2702,30 @@ g_daemon_file_create_finish (GFile *file,
GAsyncResult *res,
GError **error)
{
- GSimpleAsyncResult *simple = G_SIMPLE_ASYNC_RESULT (res);
- GFileOutputStream *output_stream;
-
- output_stream = g_simple_async_result_get_op_res_gpointer (simple);
- if (output_stream)
- return g_object_ref (output_stream);
+ GTask *task = G_TASK (res);
- return NULL;
+ return g_task_propagate_pointer (task, error);
}
static void
enumerate_children_async_cb (DBusMessage *reply,
DBusConnection *connection,
GMountInfo *mount_info,
- GSimpleAsyncResult *result,
+ GTask *task,
GCancellable *cancellable,
gpointer callback_data)
{
GDaemonFileEnumerator *enumerator = callback_data;
if (reply == NULL || connection == NULL)
- {
- g_simple_async_result_set_error (result, G_IO_ERROR, G_IO_ERROR_FAILED,
- _("Invalid return value from %s"), "enumerate_children");
- goto out;
- }
+ {
+ g_task_return_new_error (task, G_IO_ERROR, G_IO_ERROR_FAILED,
+ _("Invalid return value from %s"), "enumerate_children");
+ return;
+ }
g_object_ref (enumerator);
-
- g_simple_async_result_set_op_res_gpointer (result, enumerator, g_object_unref);
-
-out:
- _g_simple_async_result_complete_with_cancellable (result, cancellable);
+ g_task_return_pointer (result, enumerator, g_object_unref);
}
static void
@@ -2885,50 +2769,33 @@ g_daemon_file_enumerate_children_finish (GFile *file,
GAsyncResult *res,
GError **error)
{
- GSimpleAsyncResult *simple = G_SIMPLE_ASYNC_RESULT (res);
- GDaemonFileEnumerator *enumerator;
+ GTask *task = G_TASK (res);
- enumerator = g_simple_async_result_get_op_res_gpointer (simple);
- if (enumerator)
- return g_object_ref (enumerator);
-
- return NULL;
+ return g_task_propagate_pointer (task, error);
}
-typedef struct
-{
- GFile *file;
- GSimpleAsyncResult *result;
- GCancellable *cancellable;
-}
-FindEnclosingMountData;
-
static void
find_enclosing_mount_cb (GMountInfo *mount_info,
gpointer user_data,
GError *error)
{
- FindEnclosingMountData *data = user_data;
- GError *my_error = NULL;
+ GTask *task = user_data;
- if (data->cancellable && g_cancellable_set_error_if_cancelled (data->cancellable, &my_error))
- {
- g_simple_async_result_set_from_error (data->result, my_error);
- goto out;
- }
+ if (g_task_return_error_if_cancelled (task))
+ return;
if (error)
{
- g_simple_async_result_set_from_error (data->result, error);
- goto out;
+ g_task_return_error (task, g_error_copy (error));
+ return;
}
if (!mount_info)
{
- g_simple_async_result_set_error (data->result, G_IO_ERROR, G_IO_ERROR_FAILED,
- "Internal error: \"%s\"",
- "No error but no mount info from g_daemon_vfs_get_mount_info_async");
- goto out;
+ g_task_return_new_error (task, G_IO_ERROR, G_IO_ERROR_FAILED,
+ "Internal error: \"%s\"",
+ "No error but no mount info from g_daemon_vfs_get_mount_info_async");
+ return;
}
if (mount_info->user_visible)
@@ -2941,23 +2808,14 @@ find_enclosing_mount_cb (GMountInfo *mount_info,
mount = g_daemon_mount_new (mount_info, NULL);
if (mount)
- g_simple_async_result_set_op_res_gpointer (data->result, mount, g_object_unref);
+ g_task_return_pointer (task, mount, g_object_unref);
else
- g_simple_async_result_set_error (data->result, G_IO_ERROR, G_IO_ERROR_FAILED,
- "Internal error: \"%s\"",
- "Mount info did not yield a mount");
+ g_task_return_new_error (task, G_IO_ERROR, G_IO_ERROR_FAILED,
+ "Internal error: \"%s\"",
+ "Mount info did not yield a mount");
}
-
-out:
- _g_simple_async_result_complete_with_cancellable (data->result, data->cancellable);
-
- if (my_error)
- g_error_free (my_error);
- if (data->cancellable)
- g_object_unref (data->cancellable);
- g_object_unref (data->file);
- g_object_unref (data->result);
- g_free (data);
+ else
+ g_task_return_pointer (task, NULL, NULL);
}
static void
@@ -2967,23 +2825,15 @@ g_daemon_file_find_enclosing_mount_async (GFile *file,
GAsyncReadyCallback callback,
gpointer user_data)
{
- GDaemonFile *daemon_file = G_DAEMON_FILE (file);
- FindEnclosingMountData *data;
-
- data = g_new0 (FindEnclosingMountData, 1);
-
- data->result = g_simple_async_result_new (G_OBJECT (file),
- callback, user_data,
- NULL);
- data->file = g_object_ref (file);
+ GDaemonFile *daemon_file = G_DAEMON_FILE (file);
+ GTask *task;
- if (cancellable)
- data->cancellable = g_object_ref (cancellable);
+ task = g_task_new (file, cancellable, callback, user_data);
_g_daemon_vfs_get_mount_info_async (daemon_file->mount_spec,
daemon_file->path,
find_enclosing_mount_cb,
- data);
+ task);
}
static GMount *
@@ -2991,21 +2841,16 @@ g_daemon_file_find_enclosing_mount_finish (GFile *file,
GAsyncResult *res,
GError **error)
{
- GSimpleAsyncResult *simple = G_SIMPLE_ASYNC_RESULT (res);
- GMount *mount;
+ GTask *task = G_TASK (res);
- mount = g_simple_async_result_get_op_res_gpointer (simple);
- if (mount)
- return g_object_ref (mount);
-
- return NULL;
+ return g_task_propagate_pointer (task, error);
}
static void
replace_async_cb (DBusMessage *reply,
DBusConnection *connection,
GMountInfo *mount_info,
- GSimpleAsyncResult *result,
+ GTask *task,
GCancellable *cancellable,
gpointer callback_data)
{
@@ -3020,19 +2865,16 @@ replace_async_cb (DBusMessage *reply,
DBUS_TYPE_UINT64, &open_params->initial_offset,
DBUS_TYPE_INVALID))
{
- g_simple_async_result_set_error (result, G_IO_ERROR, G_IO_ERROR_FAILED,
- _("Invalid return value from %s"), "open");
- goto failure;
+ g_task_return_new_error (task, G_IO_ERROR, G_IO_ERROR_FAILED,
+ _("Invalid return value from %s"), "open");
+ g_slice_free (StreamOpenParams, open_params);
+ return;
}
- open_params->result = g_object_ref (result);
- _g_dbus_connection_get_fd_async (connection, fd_id,
- (GetFdAsyncCallback) stream_open_cb, open_params);
- return;
+ g_task_set_task_data (task, open_params, (GDestroyNotify) free_stream_open_params);
-failure:
- g_slice_free (StreamOpenParams, open_params);
- _g_simple_async_result_complete_with_cancellable (result, cancellable);
+ _g_dbus_connection_get_fd_async (connection, fd_id,
+ (GetFdAsyncCallback) stream_open_cb, task);
}
static void
@@ -3073,21 +2915,16 @@ g_daemon_file_replace_finish (GFile *file,
GAsyncResult *res,
GError **error)
{
- GSimpleAsyncResult *simple = G_SIMPLE_ASYNC_RESULT (res);
- GFileOutputStream *output_stream;
-
- output_stream = g_simple_async_result_get_op_res_gpointer (simple);
- if (output_stream)
- return g_object_ref (output_stream);
+ GTask *task = G_TASK (res);
- return NULL;
+ return g_task_propagate_pointer (task, error);
}
static void
set_display_name_async_cb (DBusMessage *reply,
DBusConnection *connection,
GMountInfo *mount_info,
- GSimpleAsyncResult *result,
+ GTask *task,
GCancellable *cancellable,
gpointer callback_data)
{
@@ -3101,9 +2938,9 @@ set_display_name_async_cb (DBusMessage *reply,
G_DBUS_TYPE_CSTRING, &new_path,
0))
{
- g_simple_async_result_set_error (result, G_IO_ERROR, G_IO_ERROR_FAILED,
- _("Invalid return value from %s"), "set_display_name");
- goto out;
+ g_task_return_new_error (task, G_IO_ERROR, G_IO_ERROR_FAILED,
+ _("Invalid return value from %s"), "set_display_name");
+ return;
}
g_mount_info_apply_prefix (mount_info, &new_path);
@@ -3111,10 +2948,7 @@ set_display_name_async_cb (DBusMessage *reply,
g_free (new_path);
- g_simple_async_result_set_op_res_gpointer (result, file, g_object_unref);
-
-out:
- _g_simple_async_result_complete_with_cancellable (result, cancellable);
+ g_task_return_pointer (task, file, g_object_unref);
}
static void
@@ -3141,11 +2975,9 @@ g_daemon_file_set_display_name_finish (GFile *file,
GAsyncResult *res,
GError **error)
{
- GSimpleAsyncResult *simple = G_SIMPLE_ASYNC_RESULT (res);
- GFile *new_file;
+ GTask *task = G_TASK (res);
- new_file = g_simple_async_result_get_op_res_gpointer (simple);
- return new_file;
+ return g_task_propagate_pointer (task, error);
}
#if 0
diff --git a/client/gdaemonfileenumerator.c b/client/gdaemonfileenumerator.c
index d8ca8ab6..6302b916 100644
--- a/client/gdaemonfileenumerator.c
+++ b/client/gdaemonfileenumerator.c
@@ -55,7 +55,7 @@ struct _GDaemonFileEnumerator
int async_requested_files;
gulong cancelled_tag;
guint timeout_tag;
- GSimpleAsyncResult *async_res;
+ GTask *task;
GFileAttributeMatcher *matcher;
MetaTree *metadata_tree;
@@ -219,25 +219,6 @@ add_metadata (GFileInfo *info,
g_free (path);
}
-static GCancellable *
-simple_async_result_get_cancellable (GSimpleAsyncResult *res)
-{
- return g_object_get_data (G_OBJECT (res), "file-enumerator-cancellable");
-}
-
-static void
-simple_async_result_set_cancellable (GSimpleAsyncResult *res,
- GCancellable *cancellable)
-{
- if (!cancellable)
- return;
-
- g_object_set_data_full (G_OBJECT (res),
- "file-enumerator-cancellable",
- g_object_ref (cancellable),
- g_object_unref);
-}
-
/* Called with infos lock held */
static void
trigger_async_done (GDaemonFileEnumerator *daemon, gboolean ok)
@@ -246,7 +227,7 @@ trigger_async_done (GDaemonFileEnumerator *daemon, gboolean ok)
if (daemon->cancelled_tag != 0)
{
- GCancellable *cancellable = simple_async_result_get_cancellable (daemon->async_res);
+ GCancellable *cancellable = g_task_get_cancellable (daemon->task);
/* If ok, we're a normal callback on the main thread,
ensure protection against a thread cancelling and
@@ -290,12 +271,12 @@ trigger_async_done (GDaemonFileEnumerator *daemon, gboolean ok)
g_list_foreach (l, (GFunc)add_metadata, daemon);
- g_simple_async_result_set_op_res_gpointer (daemon->async_res,
- l,
- (GDestroyNotify)free_info_list);
+ g_task_return_pointer (daemon->task,
+ l,
+ (GDestroyNotify)free_info_list);
}
-
- g_simple_async_result_complete_in_idle (daemon->async_res);
+ else
+ g_task_return_pointer (daemon->task, NULL, NULL);
daemon->cancelled_tag = 0;
@@ -305,8 +286,8 @@ trigger_async_done (GDaemonFileEnumerator *daemon, gboolean ok)
daemon->async_requested_files = 0;
- g_object_unref (daemon->async_res);
- daemon->async_res = NULL;
+ g_object_unref (daemon->task);
+ daemon->task = NULL;
}
static DBusHandlerResult
@@ -460,10 +441,10 @@ static void
async_cancelled (GCancellable *cancellable,
GDaemonFileEnumerator *daemon)
{
- g_simple_async_result_set_error (daemon->async_res,
- G_IO_ERROR,
- G_IO_ERROR_CANCELLED,
- _("Operation was cancelled"));
+ g_task_return_new_error (daemon->task,
+ G_IO_ERROR,
+ G_IO_ERROR_CANCELLED,
+ _("Operation was cancelled"));
G_LOCK (infos);
trigger_async_done (daemon, FALSE);
G_UNLOCK (infos);
@@ -498,11 +479,9 @@ g_daemon_file_enumerator_next_files_async (GFileEnumerator *enumerator,
* We could possibly pump it ourselves in this case, but i'm not sure
* how much sense this makes, so we don't for now.
*/
- g_simple_async_report_error_in_idle (G_OBJECT (enumerator),
- callback,
- user_data,
- G_IO_ERROR, G_IO_ERROR_FAILED,
- "Can't do asynchronous next_files() on a file enumerator created synchronously");
+ g_task_report_new_error (enumerator, callback, user_data,
+ G_IO_ERROR, G_IO_ERROR_FAILED,
+ "Can't do asynchronous next_files() on a file enumerator created synchronously");
return;
}
@@ -510,9 +489,7 @@ g_daemon_file_enumerator_next_files_async (GFileEnumerator *enumerator,
daemon->cancelled_tag = 0;
daemon->timeout_tag = 0;
daemon->async_requested_files = num_files;
- daemon->async_res = g_simple_async_result_new (G_OBJECT (enumerator), callback, user_data,
- g_daemon_file_enumerator_next_files_async);
- simple_async_result_set_cancellable (daemon->async_res, cancellable);
+ daemon->task = g_task_new (enumerator, cancellable, callback, user_data);
/* Maybe we already have enough info to fulfill the requeust already */
if (daemon->done ||
@@ -536,23 +513,7 @@ g_daemon_file_enumerator_next_files_finish (GFileEnumerator *enumerator,
GAsyncResult *res,
GError **error)
{
- GSimpleAsyncResult *result = G_SIMPLE_ASYNC_RESULT (res);
- GCancellable *cancellable;
- GList *l;
-
- cancellable = simple_async_result_get_cancellable (result);
- if (g_cancellable_is_cancelled (cancellable))
- {
- g_set_error (error,
- G_IO_ERROR,
- G_IO_ERROR_CANCELLED,
- "%s", _("Operation was cancelled"));
- return NULL;
- }
-
- l = g_simple_async_result_get_op_res_gpointer (result);
- g_list_foreach (l, (GFunc)g_object_ref, NULL);
- return g_list_copy (l);
+ return g_task_propagate_pointer (G_TASK (res), error);
}
static gboolean
@@ -575,13 +536,11 @@ g_daemon_file_enumerator_close_async (GFileEnumerator *enumerator,
GAsyncReadyCallback callback,
gpointer user_data)
{
- GSimpleAsyncResult *res;
+ GTask *task;
- res = g_simple_async_result_new (G_OBJECT (enumerator), callback, user_data,
- g_daemon_file_enumerator_close_async);
- simple_async_result_set_cancellable (res, cancellable);
- g_simple_async_result_complete_in_idle (res);
- g_object_unref (res);
+ task = g_task_new (enumerator, cancellable, callback, user_data);
+ g_task_return_boolean (task, TRUE);
+ g_object_unref (task);
}
static gboolean
@@ -589,17 +548,5 @@ g_daemon_file_enumerator_close_finish (GFileEnumerator *enumerator,
GAsyncResult *result,
GError **error)
{
- GCancellable *cancellable;
-
- cancellable = simple_async_result_get_cancellable (G_SIMPLE_ASYNC_RESULT (result));
- if (g_cancellable_is_cancelled (cancellable))
- {
- g_set_error (error,
- G_IO_ERROR,
- G_IO_ERROR_CANCELLED,
- "%s", _("Operation was cancelled"));
- return FALSE;
- }
-
- return TRUE;
+ return g_task_propagate_boolean (G_TASK (result), error);
}
diff --git a/client/gdaemonfileinputstream.c b/client/gdaemonfileinputstream.c
index 45918321..5ba28b94 100644
--- a/client/gdaemonfileinputstream.c
+++ b/client/gdaemonfileinputstream.c
@@ -1837,7 +1837,7 @@ async_read_done (GInputStream *stream,
ReadOperation *op;
gssize count_read;
GError *error;
- GSimpleAsyncResult *simple;
+ GTask *task;
op = op_data;
@@ -1852,18 +1852,18 @@ async_read_done (GInputStream *stream,
error = op->ret_error;
}
- simple = g_simple_async_result_new (G_OBJECT (stream),
+ task = g_task_new (stream,
callback, user_data,
g_daemon_file_input_stream_read_async);
- g_simple_async_result_set_op_res_gssize (simple, count_read);
+ g_task_return_int (task, count_read);
if (count_read == -1)
- g_simple_async_result_set_from_error (simple, error);
+ g_task_return_error (task, error);
/* Complete immediately, not in idle, since we're already in a mainloop callout */
- _g_simple_async_result_complete_with_cancellable (simple, cancellable);
- g_object_unref (simple);
+ _g_task_async_result_complete_with_cancellable (task, cancellable);
+ g_object_unref (task);
if (op->ret_error)
g_error_free (op->ret_error);
@@ -1907,13 +1907,13 @@ g_daemon_file_input_stream_read_finish (GInputStream *stream,
GAsyncResult *result,
GError **error)
{
- GSimpleAsyncResult *simple;
+ GTask *task;
gssize nread;
- simple = G_SIMPLE_ASYNC_RESULT (result);
- g_assert (g_simple_async_result_get_source_tag (simple) == g_daemon_file_input_stream_read_async);
+ task = G_TASK (result);
+ g_assert (g_task_async_result_get_source_tag (task) == g_daemon_file_input_stream_read_async);
- nread = g_simple_async_result_get_op_res_gssize (simple);
+ nread = g_task_propagate_ssize (task, error);
return nread;
}
@@ -1948,7 +1948,7 @@ async_close_done (GInputStream *stream,
GError *io_error)
{
GDaemonFileInputStream *file;
- GSimpleAsyncResult *simple;
+ GTask *task;
CloseOperation *op;
gboolean result;
GError *error;
@@ -1979,16 +1979,16 @@ async_close_done (GInputStream *stream,
g_input_stream_close (file->data_stream, cancellable, NULL);
- simple = g_simple_async_result_new (G_OBJECT (stream),
+ task = g_task_new (stream,
callback, user_data,
g_daemon_file_input_stream_read_async);
if (!result)
- g_simple_async_result_set_from_error (simple, error);
+ g_task_return_error (task, error);
/* Complete immediately, not in idle, since we're already in a mainloop callout */
- _g_simple_async_result_complete_with_cancellable (simple, cancellable);
- g_object_unref (simple);
+ _g_task_async_result_complete_with_cancellable (task, cancellable);
+ g_object_unref (task);
if (op->ret_error)
g_error_free (op->ret_error);
@@ -2035,7 +2035,7 @@ async_query_done (GInputStream *stream,
GCancellable *cancellable,
GError *io_error)
{
- GSimpleAsyncResult *simple;
+ GTask *task;
QueryOperation *op;
GFileInfo *info;
GError *error;
@@ -2053,19 +2053,19 @@ async_query_done (GInputStream *stream,
error = op->ret_error;
}
- simple = g_simple_async_result_new (G_OBJECT (stream),
+ task = g_task_new (stream,
callback, user_data,
g_daemon_file_input_stream_query_info_async);
if (info == NULL)
- g_simple_async_result_set_from_error (simple, error);
+ g_task_return_error (task, error);
else
- g_simple_async_result_set_op_res_gpointer (simple, info,
+ g_task_return_pointer (task, info,
g_object_unref);
/* Complete immediately, not in idle, since we're already in a mainloop callout */
- _g_simple_async_result_complete_with_cancellable (simple, cancellable);
- g_object_unref (simple);
+ _g_task_async_result_complete_with_cancellable (task, cancellable);
+ g_object_unref (task);
if (op->ret_error)
g_error_free (op->ret_error);
@@ -2106,13 +2106,13 @@ g_daemon_file_input_stream_query_info_finish (GFileInputStream *stream,
GAsyncResult *result,
GError **error)
{
- GSimpleAsyncResult *simple;
+ GTask *task;
GFileInfo *info;
- simple = G_SIMPLE_ASYNC_RESULT (result);
- g_assert (g_simple_async_result_get_source_tag (simple) == g_daemon_file_input_stream_query_info_async);
+ task = G_TASK (result);
+ g_assert (g_task_async_result_get_source_tag (task) == g_daemon_file_input_stream_query_info_async);
- info = g_simple_async_result_get_op_res_gpointer (simple);
+ info = g_task_propagate_pointer (task, error);
return g_object_ref (info);
diff --git a/client/gdaemonfileoutputstream.c b/client/gdaemonfileoutputstream.c
index 74e4caff..58879142 100644
--- a/client/gdaemonfileoutputstream.c
+++ b/client/gdaemonfileoutputstream.c
@@ -1386,7 +1386,7 @@ async_write_done (GOutputStream *stream,
GCancellable *cancellable,
GError *io_error)
{
- GSimpleAsyncResult *simple;
+ GTask *task;
WriteOperation *op;
gssize count_written;
GError *error;
@@ -1404,18 +1404,18 @@ async_write_done (GOutputStream *stream,
error = op->ret_error;
}
- simple = g_simple_async_result_new (G_OBJECT (stream),
+ task = g_task_new (stream,
callback, user_data,
g_daemon_file_output_stream_write_async);
- g_simple_async_result_set_op_res_gssize (simple, count_written);
+ g_task_return_int (task, count_written);
if (count_written == -1)
- g_simple_async_result_set_from_error (simple, error);
+ g_task_return_error (task, error);
/* Complete immediately, not in idle, since we're already in a mainloop callout */
- _g_simple_async_result_complete_with_cancellable (simple, cancellable);
- g_object_unref (simple);
+ _g_task_async_result_complete_with_cancellable (task, cancellable);
+ g_object_unref (task);
if (op->ret_error)
g_error_free (op->ret_error);
@@ -1459,13 +1459,13 @@ g_daemon_file_output_stream_write_finish (GOutputStream *stream,
GAsyncResult *result,
GError **error)
{
- GSimpleAsyncResult *simple;
+ GTask *task;
gssize nwritten;
- simple = G_SIMPLE_ASYNC_RESULT (result);
- g_assert (g_simple_async_result_get_source_tag (simple) == g_daemon_file_output_stream_write_async);
+ task = G_TASK (result);
+ g_assert (g_task_async_result_get_source_tag (task) == g_daemon_file_output_stream_write_async);
- nwritten = g_simple_async_result_get_op_res_gssize (simple);
+ nwritten = g_task_propagate_ssize (task, error);
return nwritten;
}
@@ -1478,7 +1478,7 @@ async_close_done (GOutputStream *stream,
GError *io_error)
{
GDaemonFileOutputStream *file;
- GSimpleAsyncResult *simple;
+ GTask *task;
CloseOperation *op;
gboolean result;
GError *error;
@@ -1508,16 +1508,16 @@ async_close_done (GOutputStream *stream,
else
g_input_stream_close (file->data_stream, cancellable, NULL);
- simple = g_simple_async_result_new (G_OBJECT (stream),
+ task = g_task_new (stream,
callback, user_data,
g_daemon_file_output_stream_close_async);
if (!result)
- g_simple_async_result_set_from_error (simple, error);
+ g_task_return_error (task, error);
/* Complete immediately, not in idle, since we're already in a mainloop callout */
- _g_simple_async_result_complete_with_cancellable (simple, cancellable);
- g_object_unref (simple);
+ _g_task_async_result_complete_with_cancellable (task, cancellable);
+ g_object_unref (task);
if (op->ret_error)
g_error_free (op->ret_error);
@@ -1564,7 +1564,7 @@ async_query_done (GOutputStream *stream,
GCancellable *cancellable,
GError *io_error)
{
- GSimpleAsyncResult *simple;
+ GTask *task;
QueryOperation *op;
GFileInfo *info;
GError *error;
@@ -1582,19 +1582,19 @@ async_query_done (GOutputStream *stream,
error = op->ret_error;
}
- simple = g_simple_async_result_new (G_OBJECT (stream),
+ task = g_task_new (stream,
callback, user_data,
g_daemon_file_output_stream_query_info_async);
if (info == NULL)
- g_simple_async_result_set_from_error (simple, error);
+ g_task_return_error (task, error);
else
- g_simple_async_result_set_op_res_gpointer (simple, info,
+ g_task_return_pointer (task, info,
g_object_unref);
/* Complete immediately, not in idle, since we're already in a mainloop callout */
- _g_simple_async_result_complete_with_cancellable (simple, cancellable);
- g_object_unref (simple);
+ _g_task_async_result_complete_with_cancellable (task, cancellable);
+ g_object_unref (task);
if (op->ret_error)
g_error_free (op->ret_error);
@@ -1635,13 +1635,13 @@ g_daemon_file_output_stream_query_info_finish (GFileOutputStream *stream,
GAsyncResult *result,
GError **error)
{
- GSimpleAsyncResult *simple;
+ GTask *task;
GFileInfo *info;
- simple = G_SIMPLE_ASYNC_RESULT (result);
- g_assert (g_simple_async_result_get_source_tag (simple) == g_daemon_file_output_stream_query_info_async);
+ task = G_TASK (result);
+ g_assert (g_task_async_result_get_source_tag (task) == g_daemon_file_output_stream_query_info_async);
- info = g_simple_async_result_get_op_res_gpointer (simple);
+ info = g_task_propagate_pointer (task, error);
return g_object_ref (info);
diff --git a/client/gdaemonmount.c b/client/gdaemonmount.c
index f5bc5a62..743c155b 100644
--- a/client/gdaemonmount.c
+++ b/client/gdaemonmount.c
@@ -179,12 +179,12 @@ unmount_reply (DBusMessage *reply,
GError *io_error,
gpointer _data)
{
- GSimpleAsyncResult *result = _data;
+ GTask *result = _data;
if (io_error != NULL)
- g_simple_async_result_set_from_error (result, io_error);
+ g_task_return_error (result, io_error);
- g_simple_async_result_complete (result);
+ g_task_async_result_complete (result);
g_object_unref (result);
}
@@ -199,7 +199,7 @@ g_daemon_mount_unmount_with_operation (GMount *mount,
GDaemonMount *daemon_mount = G_DAEMON_MOUNT (mount);
DBusMessage *message;
GMountInfo *mount_info;
- GSimpleAsyncResult *res;
+ GTask *res;
guint32 dbus_flags;
GMountSource *mount_source;
const char *dbus_id, *obj_path;
@@ -222,7 +222,7 @@ g_daemon_mount_unmount_with_operation (GMount *mount,
DBUS_TYPE_UINT32, &dbus_flags,
0);
- res = g_simple_async_result_new (G_OBJECT (mount),
+ res = g_task_new (mount,
callback, user_data,
g_daemon_mount_unmount_with_operation);
@@ -288,13 +288,13 @@ g_daemon_mount_guess_content_type (GMount *mount,
GAsyncReadyCallback callback,
gpointer user_data)
{
- GSimpleAsyncResult *simple;
- simple = g_simple_async_result_new (G_OBJECT (mount),
+ GTask *task;
+ task = g_task_new (mount,
callback,
user_data,
NULL);
- g_simple_async_result_complete_in_idle (simple);
- g_object_unref (simple);
+ g_task_async_result_complete_in_idle (task);
+ g_object_unref (task);
}
static char **
diff --git a/client/gvfsdaemondbus.c b/client/gvfsdaemondbus.c
index 2cfd2e63..47e44415 100644
--- a/client/gvfsdaemondbus.c
+++ b/client/gvfsdaemondbus.c
@@ -1039,28 +1039,3 @@ _g_dbus_connection_get_sync (const char *dbus_id,
return connection;
}
-
-/**
- * _g_simple_async_result_complete_with_cancellable:
- * @result: the result
- * @cancellable: a cancellable to check
- *
- * If @cancellable is cancelled, sets @result into the cancelled error
- * state. Then calls g_simple_async_result_complete().
- * This function is useful to ensure that @result is properly set into
- * an error state on cancellation.
- **/
-void
-_g_simple_async_result_complete_with_cancellable (GSimpleAsyncResult *result,
- GCancellable *cancellable)
-{
- if (cancellable &&
- g_cancellable_is_cancelled (cancellable))
- g_simple_async_result_set_error (result,
- G_IO_ERROR,
- G_IO_ERROR_CANCELLED,
- "%s", _("Operation was cancelled"));
-
- g_simple_async_result_complete (result);
-}
-
diff --git a/client/gvfsdaemondbus.h b/client/gvfsdaemondbus.h
index c60108f5..7a132cdc 100644
--- a/client/gvfsdaemondbus.h
+++ b/client/gvfsdaemondbus.h
@@ -75,10 +75,6 @@ DBusMessage * _g_vfs_daemon_call_sync (DBusMessage
GFileInfo * _g_dbus_get_file_info (DBusMessageIter *iter,
GError **error);
-void _g_simple_async_result_complete_with_cancellable
- (GSimpleAsyncResult *result,
- GCancellable *cancellable);
-
G_END_DECLS
#endif /* __G_VFS_DAEMON_DBUS_H__ */
diff --git a/client/gvfsiconloadable.c b/client/gvfsiconloadable.c
index 0660b303..80b29cd7 100644
--- a/client/gvfsiconloadable.c
+++ b/client/gvfsiconloadable.c
@@ -162,13 +162,13 @@ g_vfs_icon_load (GLoadableIcon *icon,
typedef void (*AsyncPathCallCallback) (DBusMessage *reply,
DBusConnection *connection,
- GSimpleAsyncResult *result,
+ GTask *result,
GCancellable *cancellable,
gpointer callback_data);
typedef struct {
- GSimpleAsyncResult *result;
+ GTask *result;
GVfsIcon *vfs_icon;
char *op;
GCancellable *cancellable;
@@ -203,12 +203,12 @@ async_path_call_done (DBusMessage *reply,
gpointer _data)
{
AsyncPathCall *data = _data;
- GSimpleAsyncResult *result;
+ GTask *result;
if (io_error != NULL)
{
- g_simple_async_result_set_from_error (data->result, io_error);
- _g_simple_async_result_complete_with_cancellable (data->result, data->cancellable);
+ g_task_return_error (data->result, io_error);
+ _g_task_async_result_complete_with_cancellable (data->result, data->cancellable);
async_path_call_free (data);
}
else
@@ -238,8 +238,8 @@ do_async_path_call_callback (GMountInfo *mount_info,
if (error != NULL)
{
- g_simple_async_result_set_from_error (data->result, error);
- _g_simple_async_result_complete_with_cancellable (data->result, data->cancellable);
+ g_task_return_error (data->result, error);
+ _g_task_async_result_complete_with_cancellable (data->result, data->cancellable);
async_path_call_free (data);
return;
}
@@ -287,7 +287,7 @@ do_async_path_call (GVfsIcon *vfs_icon,
data = g_new0 (AsyncPathCall, 1);
- data->result = g_simple_async_result_new (G_OBJECT (vfs_icon),
+ data->result = g_task_new (vfs_icon,
op_callback, op_callback_data,
NULL);
@@ -320,7 +320,7 @@ do_async_path_call (GVfsIcon *vfs_icon,
}
typedef struct {
- GSimpleAsyncResult *result;
+ GTask *result;
GCancellable *cancellable;
gboolean can_seek;
} GetFDData;
@@ -334,17 +334,17 @@ load_async_get_fd_cb (int fd,
if (fd == -1)
{
- g_simple_async_result_set_error (data->result,
+ g_task_return_new_error (data->result,
G_IO_ERROR, G_IO_ERROR_FAILED,
_("Couldn't get stream file descriptor"));
}
else
{
stream = g_daemon_file_input_stream_new (fd, data->can_seek);
- g_simple_async_result_set_op_res_gpointer (data->result, stream, g_object_unref);
+ g_task_return_pointer (data->result, stream, g_object_unref);
}
- _g_simple_async_result_complete_with_cancellable (data->result,
+ _g_task_async_result_complete_with_cancellable (data->result,
data->cancellable);
g_object_unref (data->result);
@@ -356,7 +356,7 @@ load_async_get_fd_cb (int fd,
static void
load_async_cb (DBusMessage *reply,
DBusConnection *connection,
- GSimpleAsyncResult *result,
+ GTask *result,
GCancellable *cancellable,
gpointer callback_data)
{
@@ -369,10 +369,10 @@ load_async_cb (DBusMessage *reply,
DBUS_TYPE_BOOLEAN, &can_seek,
DBUS_TYPE_INVALID))
{
- g_simple_async_result_set_error (result,
+ g_task_return_new_error (result,
G_IO_ERROR, G_IO_ERROR_FAILED,
_("Invalid return value from %s"), "open");
- _g_simple_async_result_complete_with_cancellable (result, cancellable);
+ _g_task_async_result_complete_with_cancellable (result, cancellable);
return;
}
@@ -407,10 +407,10 @@ g_vfs_icon_load_finish (GLoadableIcon *icon,
char **type,
GError **error)
{
- GSimpleAsyncResult *simple = G_SIMPLE_ASYNC_RESULT (res);
+ GTask *task = G_TASK (res);
gpointer op;
- op = g_simple_async_result_get_op_res_gpointer (simple);
+ op = g_task_propagate_pointer (task, error);
if (op)
return g_object_ref (op);
diff --git a/common/gmountsource.c b/common/gmountsource.c
index cf567fcb..43181573 100644
--- a/common/gmountsource.c
+++ b/common/gmountsource.c
@@ -162,18 +162,17 @@ ask_password_reply (DBusMessage *reply,
GError *error,
gpointer _data)
{
- GSimpleAsyncResult *result;
+ GTask *task;
AskPasswordData *data;
dbus_bool_t handled, aborted, anonymous;
guint32 password_save;
const char *password, *username, *domain;
DBusMessageIter iter;
- result = G_SIMPLE_ASYNC_RESULT (_data);
+ task = G_TASK (_data);
handled = TRUE;
data = g_new0 (AskPasswordData, 1);
- g_simple_async_result_set_op_res_gpointer (result, data, ask_password_data_free);
if (reply == NULL)
{
@@ -209,13 +208,15 @@ ask_password_reply (DBusMessage *reply,
}
}
- if (handled == FALSE)
+ if (handled == TRUE)
+ g_task_return_pointer (task, data, ask_password_data_free);
+ else
{
- g_simple_async_result_set_error (result, G_IO_ERROR, G_IO_ERROR_FAILED, "Internal Error");
+ ask_password_data_free (data);
+ g_task_return_new_error (task, G_IO_ERROR, G_IO_ERROR_FAILED, "Internal Error");
}
- g_simple_async_result_complete (result);
- g_object_unref (result);
+ g_object_unref (task);
}
void
@@ -227,7 +228,7 @@ g_mount_source_ask_password_async (GMountSource *source,
GAsyncReadyCallback callback,
gpointer user_data)
{
- GSimpleAsyncResult *result;
+ GTask *task;
DBusMessage *message;
guint32 flags_as_int;
@@ -235,11 +236,9 @@ g_mount_source_ask_password_async (GMountSource *source,
/* If no dbus id specified, reply that we weren't handled */
if (source->dbus_id[0] == 0)
{
- g_simple_async_report_error_in_idle (G_OBJECT (source),
- callback,
- user_data,
- G_IO_ERROR, G_IO_ERROR_FAILED,
- "Internal Error");
+ g_task_report_new_error (source, callback, user_data,
+ G_IO_ERROR, G_IO_ERROR_FAILED,
+ "Internal Error");
return;
}
@@ -264,13 +263,11 @@ g_mount_source_ask_password_async (GMountSource *source,
DBUS_TYPE_UINT32, &flags_as_int,
0);
- result = g_simple_async_result_new (G_OBJECT (source), callback, user_data,
- g_mount_source_ask_password_async);
+ task = g_task_new (source, cancellable, callback, user_data);
/* 30 minute timeout */
_g_dbus_connection_call_async (NULL, message, 1000 * 60 * 30,
- ask_password_reply, result);
+ ask_password_reply, task);
dbus_message_unref (message);
-
}
/**
@@ -306,35 +303,26 @@ g_mount_source_ask_password_finish (GMountSource *source,
GPasswordSave *password_save_out)
{
AskPasswordData *data, def = { TRUE, };
- GSimpleAsyncResult *simple;
+ GTask *task;
- simple = G_SIMPLE_ASYNC_RESULT (result);
+ task = G_TASK (result);
- if (g_simple_async_result_propagate_error (simple, NULL))
+ if (g_task_had_error (task))
data = &def;
else
- data = (AskPasswordData *) g_simple_async_result_get_op_res_gpointer (simple);
+ data = g_task_propagate_pointer (task, NULL);
if (aborted)
*aborted = data->aborted;
if (password_out)
- {
- *password_out = data->password;
- data->password = NULL;
- }
+ *password_out = data->password;
if (user_out)
- {
- *user_out = data->username;
- data->username = NULL;
- }
+ *user_out = data->username;
if (domain_out)
- {
- *domain_out = data->domain;
- data->domain = NULL;
- }
+ *domain_out = data->domain;
if (anonymous_out)
*anonymous_out = data->anonymous;
@@ -342,7 +330,13 @@ g_mount_source_ask_password_finish (GMountSource *source,
if (password_save_out)
*password_save_out = data->password_save;
- return data != &def;
+ if (data == &def)
+ return FALSE;
+ else
+ {
+ g_free (data);
+ return TRUE;
+ }
}
@@ -497,17 +491,16 @@ ask_question_reply (DBusMessage *reply,
GError *error,
gpointer _data)
{
- GSimpleAsyncResult *result;
+ GTask *task;
AskQuestionData *data;
dbus_bool_t handled, aborted;
guint32 choice;
DBusMessageIter iter;
- result = G_SIMPLE_ASYNC_RESULT (_data);
+ task = G_TASK (_data);
handled = TRUE;
data = g_new0 (AskQuestionData, 1);
- g_simple_async_result_set_op_res_gpointer (result, data, g_free);
if (reply == NULL)
{
@@ -529,13 +522,15 @@ ask_question_reply (DBusMessage *reply,
}
}
- if (handled == FALSE)
+ if (handled == TRUE)
+ g_task_return_pointer (task, data, g_free);
+ else
{
- g_simple_async_result_set_error (result, G_IO_ERROR, G_IO_ERROR_FAILED, "Internal Error");
+ g_free (data);
+ g_task_return_new_error (task, G_IO_ERROR, G_IO_ERROR_FAILED, "Internal Error");
}
- g_simple_async_result_complete (result);
- g_object_unref (result);
+ g_object_unref (task);
}
gboolean
@@ -592,17 +587,15 @@ g_mount_source_ask_question_async (GMountSource *source,
GAsyncReadyCallback callback,
gpointer user_data)
{
- GSimpleAsyncResult *result;
+ GTask *task;
DBusMessage *message;
/* If no dbus id specified, reply that we weren't handled */
if (source->dbus_id[0] == 0)
{
- g_simple_async_report_error_in_idle (G_OBJECT (source),
- callback,
- user_data,
- G_IO_ERROR, G_IO_ERROR_FAILED,
- "Internal Error");
+ g_task_report_new_error (source, callback, user_data,
+ G_IO_ERROR, G_IO_ERROR_FAILED,
+ "Internal Error");
return;
}
@@ -620,11 +613,10 @@ g_mount_source_ask_question_async (GMountSource *source,
&choices, n_choices,
0);
- result = g_simple_async_result_new (G_OBJECT (source), callback, user_data,
- g_mount_source_ask_question_async);
+ task = g_task_new (source, cancellable, callback, user_data);
/* 30 minute timeout */
_g_dbus_connection_call_async (NULL, message, 1000 * 60 * 30,
- ask_question_reply, result);
+ ask_question_reply, task);
dbus_message_unref (message);
}
@@ -636,14 +628,14 @@ g_mount_source_ask_question_finish (GMountSource *source,
gint *choice_out)
{
AskQuestionData *data, def= { FALSE, };
- GSimpleAsyncResult *simple;
+ GTask *task;
- simple = G_SIMPLE_ASYNC_RESULT (result);
+ task = G_TASK (result);
- if (g_simple_async_result_propagate_error (simple, NULL))
+ if (g_task_had_error (task))
data = &def;
else
- data = (AskQuestionData *) g_simple_async_result_get_op_res_gpointer (simple);
+ data = (AskQuestionData *) g_task_propaget_pointer (task, NULL);
if (aborted)
*aborted = data->aborted;
@@ -651,7 +643,13 @@ g_mount_source_ask_question_finish (GMountSource *source,
if (choice_out)
*choice_out = data->choice;
- return data != &def;
+ if (data == &def)
+ return FALSE;
+ else
+ {
+ g_free (data);
+ return TRUE;
+ }
}
static void
@@ -718,17 +716,16 @@ show_processes_reply (DBusMessage *reply,
GError *error,
gpointer _data)
{
- GSimpleAsyncResult *result;
+ GTask *task;
ShowProcessesData *data;
dbus_bool_t handled, aborted;
guint32 choice;
DBusMessageIter iter;
- result = G_SIMPLE_ASYNC_RESULT (_data);
+ task = G_TASK (_data);
handled = TRUE;
data = g_new0 (ShowProcessesData, 1);
- g_simple_async_result_set_op_res_gpointer (result, data, g_free);
if (reply == NULL)
{
@@ -750,13 +747,15 @@ show_processes_reply (DBusMessage *reply,
}
}
- if (handled == FALSE)
+ if (handled == TRUE)
+ g_task_return_pointer (task, data, g_free);
+ else
{
- g_simple_async_result_set_error (result, G_IO_ERROR, G_IO_ERROR_FAILED, "Internal Error");
+ g_free (data);
+ g_task_return_new_error (task, G_IO_ERROR, G_IO_ERROR_FAILED, "Internal Error");
}
- g_simple_async_result_complete (result);
- g_object_unref (result);
+ g_object_unref (task);
}
void
@@ -768,22 +767,19 @@ g_mount_source_show_processes_async (GMountSource *source,
GAsyncReadyCallback callback,
gpointer user_data)
{
- GSimpleAsyncResult *result;
+ GTask *task;
DBusMessage *message;
/* If no dbus id specified, reply that we weren't handled */
if (source->dbus_id[0] == 0)
{
- g_simple_async_report_error_in_idle (G_OBJECT (source),
- callback,
- user_data,
- G_IO_ERROR, G_IO_ERROR_FAILED,
- "Internal Error");
+ g_task_report_new_error (source, callback, user_data,
+ G_IO_ERROR, G_IO_ERROR_FAILED,
+ "Internal Error");
return;
}
- result = g_simple_async_result_new (G_OBJECT (source), callback, user_data,
- g_mount_source_show_processes_async);
+ task = g_task_new (source, cancellable, callback, user_data);
if (message_string == NULL)
message_string = "";
@@ -803,7 +799,7 @@ g_mount_source_show_processes_async (GMountSource *source,
/* 30 minute timeout */
_g_dbus_connection_call_async (NULL, message, 1000 * 60 * 30,
- show_processes_reply, result);
+ show_processes_reply, task);
dbus_message_unref (message);
}
@@ -814,14 +810,14 @@ g_mount_source_show_processes_finish (GMountSource *source,
gint *choice_out)
{
ShowProcessesData *data, def= { FALSE, };
- GSimpleAsyncResult *simple;
+ GTask *task;
- simple = G_SIMPLE_ASYNC_RESULT (result);
+ task = G_TASK (result);
- if (g_simple_async_result_propagate_error (simple, NULL))
+ if (g_task_had_error (task, NULL))
data = &def;
else
- data = (ShowProcessesData *) g_simple_async_result_get_op_res_gpointer (simple);
+ data = (ShowProcessesData *) g_task_propagate_pointer (task);
if (aborted)
*aborted = data->aborted;
@@ -829,7 +825,13 @@ g_mount_source_show_processes_finish (GMountSource *source,
if (choice_out)
*choice_out = data->choice;
- return data != &def;
+ if (data != &def)
+ return FALSE;
+ else
+ {
+ g_free (data);
+ return TRUE;
+ }
}
gboolean
diff --git a/common/gvfsdnssdresolver.c b/common/gvfsdnssdresolver.c
index 1bb92e94..318d96ac 100644
--- a/common/gvfsdnssdresolver.c
+++ b/common/gvfsdnssdresolver.c
@@ -1055,7 +1055,6 @@ service_resolver_cb (AvahiServiceResolver *avahi_resolver,
typedef struct
{
GVfsDnsSdResolver *resolver;
- GSimpleAsyncResult *simple;
guint timeout_id;
} ResolveData;
@@ -1067,88 +1066,84 @@ resolve_data_free (ResolveData *data)
if (data->timeout_id > 0)
g_source_remove (data->timeout_id);
g_signal_handlers_disconnect_by_func (data->resolver, service_resolver_changed, data);
- g_object_unref (data->simple);
g_free (data);
}
static void
service_resolver_changed (GVfsDnsSdResolver *resolver,
- ResolveData *data)
+ GTask *task)
{
if (resolver->is_resolved)
{
- g_simple_async_result_set_op_res_gboolean (data->simple, TRUE);
- g_simple_async_result_complete (data->simple);
- resolve_data_free (data);
+ g_task_return_boolean (task, TRUE);
}
else
{
- if (data->resolver->address != NULL)
+ if (resolver->address != NULL)
{
/* keep going until timeout if we're missing TXT records */
}
else
{
- g_simple_async_result_set_error (data->simple,
- G_IO_ERROR,
- G_IO_ERROR_FAILED,
+ g_task_return_new_error (task,
+ G_IO_ERROR,
+ G_IO_ERROR_FAILED,
/* Translators:
* - the first %s refers to the service type
* - the second %s refers to the service name
* - the third %s refers to the domain
*/
- _("Error resolving \"%s\" service \"%s\" on domain \"%s\""),
- data->resolver->service_type,
- data->resolver->service_name,
- data->resolver->domain);
- g_simple_async_result_complete (data->simple);
- resolve_data_free (data);
+ _("Error resolving \"%s\" service \"%s\" on domain \"%s\""),
+ resolver->service_type,
+ resolver->service_name,
+ resolver->domain);
}
}
}
static gboolean
-service_resolver_timed_out (ResolveData *data)
+service_resolver_timed_out (GTask *task)
{
+ GVfsDnsSdResolver *resolver = g_task_get_source_object (task);
+ ResolveData *data = g_task_get_task_data (task);
- if (data->resolver->address != NULL)
+ data->timeout_id = 0;
+
+ if (resolver->address != NULL)
{
/* special case if one of the required TXT records are missing */
- g_simple_async_result_set_error (data->simple,
- G_IO_ERROR,
- G_IO_ERROR_FAILED,
+ g_task_return_new_error (task,
+ G_IO_ERROR,
+ G_IO_ERROR_FAILED,
/* Translators:
* - the first %s refers to the service type
* - the second %s refers to the service name
* - the third %s refers to the domain
* - the fourth %s refers to the required TXT keys
*/
- _("Error resolving \"%s\" service \"%s\" on domain \"%s\". "
- "One or more TXT records are missing. Keys required: \"%s\"."),
- data->resolver->service_type,
- data->resolver->service_name,
- data->resolver->domain,
- data->resolver->required_txt_keys);
+ _("Error resolving \"%s\" service \"%s\" on domain \"%s\". "
+ "One or more TXT records are missing. Keys required: \"%s\"."),
+ resolver->service_type,
+ resolver->service_name,
+ resolver->domain,
+ resolver->required_txt_keys);
}
else
{
- g_simple_async_result_set_error (data->simple,
- G_IO_ERROR,
- G_IO_ERROR_TIMED_OUT,
+ g_task_return_new_error (task,
+ G_IO_ERROR,
+ G_IO_ERROR_TIMED_OUT,
/* Translators:
* - the first %s refers to the service type
* - the second %s refers to the service name
* - the third %s refers to the domain
*/
- _("Timed out resolving \"%s\" service \"%s\" on domain \"%s\""),
- data->resolver->service_type,
- data->resolver->service_name,
- data->resolver->domain);
+ _("Timed out resolving \"%s\" service \"%s\" on domain \"%s\""),
+ resolver->service_type,
+ resolver->service_name,
+ resolver->domain);
}
- g_simple_async_result_complete (data->simple);
- data->timeout_id = 0;
- resolve_data_free (data);
return FALSE;
}
@@ -1157,14 +1152,9 @@ g_vfs_dns_sd_resolver_resolve_finish (GVfsDnsSdResolver *resolver,
GAsyncResult *res,
GError **error)
{
- GSimpleAsyncResult *simple = G_SIMPLE_ASYNC_RESULT (res);
-
- g_return_val_if_fail (G_VFS_IS_DNS_SD_RESOLVER (resolver), FALSE);
+ g_return_val_if_fail (g_task_is_valid (res, resolver), FALSE);
- g_warn_if_fail (g_simple_async_result_get_source_tag (simple) == g_vfs_dns_sd_resolver_resolve);
- g_simple_async_result_propagate_error (simple, error);
-
- return g_simple_async_result_get_op_res_gboolean (simple);
+ return g_task_propagate_boolean (G_TASK (res), error);
}
void
@@ -1174,49 +1164,39 @@ g_vfs_dns_sd_resolver_resolve (GVfsDnsSdResolver *resolver,
gpointer user_data)
{
ResolveData *data;
- GSimpleAsyncResult *simple;
+ GTask *task;
GError *error;
g_return_if_fail (G_VFS_IS_DNS_SD_RESOLVER (resolver));
- simple = g_simple_async_result_new (G_OBJECT (resolver),
- callback,
- user_data,
- g_vfs_dns_sd_resolver_resolve);
-
+ task = g_task_new (resolver, cancellable, callback, user_data);
if (resolver->is_resolved)
{
- g_simple_async_result_set_op_res_gboolean (simple, TRUE);
- g_simple_async_result_complete (simple);
- g_object_unref (simple);
- goto out;
+ g_task_return_boolean (task, TRUE);
+ g_object_unref (task);
+ return;
}
error = NULL;
if (!ensure_avahi_resolver (resolver, &error))
{
- g_simple_async_result_set_from_error (simple, error);
- g_simple_async_result_complete (simple);
- g_object_unref (simple);
- g_error_free (error);
- goto out;
+ g_task_return_error (task, error);
+ g_object_unref (task);
+ return;
}
data = g_new0 (ResolveData, 1);
data->resolver = resolver;
- data->simple = simple;
data->timeout_id = g_timeout_add (resolver->timeout_msec,
(GSourceFunc) service_resolver_timed_out,
- data);
+ task);
+ g_task_set_task_data (task, data, (GDestroyNotify) resolve_data_free);
g_signal_connect (resolver,
"changed",
(GCallback) service_resolver_changed,
- data);
-
- out:
- ;
+ task);
}
diff --git a/common/gvfsmountinfo.c b/common/gvfsmountinfo.c
index c49b0554..342fe5bf 100644
--- a/common/gvfsmountinfo.c
+++ b/common/gvfsmountinfo.c
@@ -52,7 +52,7 @@ on_icon_file_located (GObject *source_object,
GAsyncResult *res,
gpointer user_data)
{
- GSimpleAsyncResult *simple = G_SIMPLE_ASYNC_RESULT (user_data);
+ GTask *task = G_TASK (user_data);
GFile *icon_file;
GError *error;
@@ -61,17 +61,10 @@ on_icon_file_located (GObject *source_object,
res,
&error);
if (icon_file != NULL)
- {
- g_simple_async_result_set_op_res_gpointer (simple, g_file_icon_new (icon_file), NULL);
- g_object_unref (icon_file);
- }
+ g_task_return_pointer (task, g_file_icon_new (icon_file), g_object_unref);
else
- {
- g_simple_async_result_set_from_error (simple, error);
- g_error_free (error);
- }
- g_simple_async_result_complete (simple);
- g_object_unref (simple);
+ g_task_return_error (task, error);
+ g_object_unref (task);
}
static void
@@ -79,7 +72,7 @@ on_autorun_loaded (GObject *source_object,
GAsyncResult *res,
gpointer user_data)
{
- GSimpleAsyncResult *simple = G_SIMPLE_ASYNC_RESULT (user_data);
+ GTask *task = G_TASK (user_data);
GFile *autorun_file;
gchar *content;
gchar *relative_icon_path;
@@ -163,7 +156,7 @@ on_autorun_loaded (GObject *source_object,
relative_icon_path,
NULL,
on_icon_file_located,
- simple);
+ task);
g_object_unref (root);
}
@@ -181,10 +174,8 @@ on_autorun_loaded (GObject *source_object,
if (error != NULL)
{
- g_simple_async_result_set_from_error (simple, error);
- g_simple_async_result_complete_in_idle (simple);
- g_object_unref (simple);
- g_error_free (error);
+ g_task_return_error (task, error);
+ g_object_unref (task);
}
g_free (relative_icon_path);
@@ -195,7 +186,7 @@ on_autorun_located (GObject *source_object,
GAsyncResult *res,
gpointer user_data)
{
- GSimpleAsyncResult *simple = G_SIMPLE_ASYNC_RESULT (user_data);
+ GTask *task = G_TASK (user_data);
GFile *autorun_path;
GError *error;
@@ -205,17 +196,15 @@ on_autorun_located (GObject *source_object,
&error);
if (error != NULL)
{
- g_simple_async_result_set_from_error (simple, error);
- g_simple_async_result_complete_in_idle (simple);
- g_object_unref (simple);
- g_error_free (error);
+ g_task_return_error (task, error);
+ g_object_unref (task);
}
else
{
g_file_load_contents_async (autorun_path,
- g_object_get_data (G_OBJECT (simple), "cancellable"),
+ g_task_get_cancellable (task),
on_autorun_loaded,
- simple);
+ task);
g_object_unref (autorun_path);
}
}
@@ -226,21 +215,14 @@ g_vfs_mount_info_query_autorun_info (GFile *directory,
GAsyncReadyCallback callback,
gpointer user_data)
{
- GSimpleAsyncResult *simple;
-
- simple = g_simple_async_result_new (G_OBJECT (directory),
- callback,
- user_data,
- g_vfs_mount_info_query_autorun_info);
-
- if (cancellable != NULL)
- g_object_set_data_full (G_OBJECT (simple), "cancellable", g_object_ref (cancellable), g_object_unref);
+ GTask *task;
+ task = g_task_new (directory, cancellable, callback, user_data);
_g_find_file_insensitive_async (directory,
"autorun.inf",
cancellable,
on_autorun_located,
- simple);
+ task);
}
GIcon *
@@ -248,20 +230,9 @@ g_vfs_mount_info_query_autorun_info_finish (GFile *directory,
GAsyncResult *res,
GError **error)
{
- GSimpleAsyncResult *simple = G_SIMPLE_ASYNC_RESULT (res);
- GIcon *ret;
+ g_return_val_if_fail (g_task_is_valid (res, directory), NULL);
- g_warn_if_fail (g_simple_async_result_get_source_tag (simple) == g_vfs_mount_info_query_autorun_info);
-
- ret = NULL;
-
- if (g_simple_async_result_propagate_error (simple, error))
- goto out;
-
- ret = g_simple_async_result_get_op_res_gpointer (simple);
-
- out:
- return ret;
+ return g_task_propagate_pointer (G_TASK (res), error);
}
/* ---------------------------------------------------------------------------------------------------- */
@@ -271,7 +242,7 @@ on_xdg_volume_info_loaded (GObject *source_object,
GAsyncResult *res,
gpointer user_data)
{
- GSimpleAsyncResult *simple = G_SIMPLE_ASYNC_RESULT (user_data);
+ GTask *task = G_TASK (user_data);
GFile *xdg_volume_info_file;
gchar *content;
gsize content_length;
@@ -351,11 +322,10 @@ on_xdg_volume_info_loaded (GObject *source_object,
g_themed_icon_append_name (G_THEMED_ICON (icon), "drive");
}
- g_simple_async_result_set_op_res_gpointer (simple, icon, NULL);
- g_object_set_data_full (G_OBJECT (simple), "name", name, g_free);
+ g_object_set_data_full (G_OBJECT (task), "name", name, g_free);
name = NULL; /* steals name */
- g_simple_async_result_complete_in_idle (simple);
- g_object_unref (simple);
+ g_task_return_pointer (task, icon, g_object_unref);
+ g_object_unref (task);
}
out:
@@ -365,10 +335,8 @@ on_xdg_volume_info_loaded (GObject *source_object,
if (error != NULL)
{
- g_simple_async_result_set_from_error (simple, error);
- g_simple_async_result_complete_in_idle (simple);
- g_object_unref (simple);
- g_error_free (error);
+ g_task_return_error (task, error);
+ g_object_unref (task);
}
g_free (name);
@@ -383,44 +351,34 @@ g_vfs_mount_info_query_xdg_volume_info (GFile *directory,
GAsyncReadyCallback callback,
gpointer user_data)
{
- GSimpleAsyncResult *simple;
+ GTask *task;
GFile *file;
- simple = g_simple_async_result_new (G_OBJECT (directory),
- callback,
- user_data,
- g_vfs_mount_info_query_xdg_volume_info);
+ task = g_task_new (directory, cancellable, callback, user_data);
file = g_file_resolve_relative_path (directory, ".xdg-volume-info");
g_file_load_contents_async (file,
cancellable,
on_xdg_volume_info_loaded,
- simple);
+ task);
g_object_unref (file);
}
-GIcon *g_vfs_mount_info_query_xdg_volume_info_finish (GFile *directory,
- GAsyncResult *res,
- gchar **out_name,
- GError **error)
+GIcon *
+g_vfs_mount_info_query_xdg_volume_info_finish (GFile *directory,
+ GAsyncResult *res,
+ gchar **out_name,
+ GError **error)
{
- GSimpleAsyncResult *simple = G_SIMPLE_ASYNC_RESULT (res);
- GIcon *ret;
+ GTask *task;
- g_warn_if_fail (g_simple_async_result_get_source_tag (simple) == g_vfs_mount_info_query_xdg_volume_info);
+ g_return_val_if_fail (g_task_is_valid (res, directory), NULL);
- ret = NULL;
+ task = G_TASK (res);
+ if (out_name != NULL && !g_task_had_error (task))
+ *out_name = g_strdup (g_object_get_data (G_OBJECT (task), "name"));
- if (g_simple_async_result_propagate_error (simple, error))
- goto out;
-
- ret = g_simple_async_result_get_op_res_gpointer (simple);
-
- if (out_name != NULL)
- *out_name = g_strdup (g_object_get_data (G_OBJECT (simple), "name"));
-
- out:
- return ret;
+ return g_task_propagate_pointer (task, error);
}
/* ---------------------------------------------------------------------------------------------------- */
@@ -465,8 +423,9 @@ get_icon (META_DL *meta)
}
static void
-bdmv_metadata_thread (GSimpleAsyncResult *result,
- GObject *object,
+bdmv_metadata_thread (GTask *task,
+ gpointer object,
+ gpointer task_data,
GCancellable *cancellable)
{
BLURAY *bd;
@@ -486,10 +445,11 @@ bdmv_metadata_thread (GSimpleAsyncResult *result,
if (bd == NULL)
{
- error = g_error_new_literal (G_IO_ERROR,
- G_IO_ERROR_FAILED,
- "Device is not a Blu-Ray disc");
- goto error;
+ g_task_return_new_error (task,
+ G_IO_ERROR,
+ G_IO_ERROR_FAILED,
+ "Device is not a Blu-Ray disc");
+ return;
}
lang = get_iso_639_3_for_locale ();
@@ -499,11 +459,12 @@ bdmv_metadata_thread (GSimpleAsyncResult *result,
meta = bd_get_meta (bd);
if (meta == NULL)
{
- error = g_error_new_literal (G_IO_ERROR,
- G_IO_ERROR_FAILED,
- "Device is not a Blu-Ray disc, or has no metadata");
+ g_task_return_new_error (task,
+ G_IO_ERROR,
+ G_IO_ERROR_FAILED,
+ "Device is not a Blu-Ray disc, or has no metadata");
bd_close (bd);
- goto error;
+ return;
}
name = icon = NULL;
@@ -528,6 +489,9 @@ bdmv_metadata_thread (GSimpleAsyncResult *result,
}
/* Set the results */
+ if (name != NULL)
+ g_object_set_data_full (G_OBJECT (task), "name", name, g_free);
+
if (icon != NULL)
{
char *icon_path;
@@ -538,26 +502,14 @@ bdmv_metadata_thread (GSimpleAsyncResult *result,
icon_file = g_file_resolve_relative_path (file, icon_path);
g_free (icon_path);
- g_simple_async_result_set_op_res_gpointer (result,
- g_file_icon_new (icon_file),
- NULL);
+ g_task_return_pointer (task, g_file_icon_new (icon_file), g_object_unref);
}
else
{
- g_simple_async_result_set_op_res_gpointer (result, NULL, NULL);
+ g_task_return_pointer (task, NULL, NULL);
}
- if (name != NULL)
- g_object_set_data_full (G_OBJECT (result), "name", name, g_free);
-
bd_close (bd);
-
- return;
-
-error:
- g_simple_async_result_set_from_error (result, error);
- g_simple_async_result_set_op_res_gpointer (result, NULL, NULL);
- g_error_free (error);
}
#endif /* HAVE_BLURAY */
@@ -567,55 +519,38 @@ g_vfs_mount_info_query_bdmv_volume_info (GFile *directory,
GAsyncReadyCallback callback,
gpointer user_data)
{
+ GTask *task;
+
+ task = g_task_new (directory, cancellable, callback, user_data);
+
#ifdef HAVE_BLURAY
- GSimpleAsyncResult *simple;
-
- simple = g_simple_async_result_new (G_OBJECT (directory),
- callback,
- user_data,
- g_vfs_mount_info_query_bdmv_volume_info);
- g_simple_async_result_run_in_thread (simple,
- (GSimpleAsyncThreadFunc) bdmv_metadata_thread,
- G_PRIORITY_DEFAULT,
- cancellable);
- g_object_unref (simple);
+ g_task_run_in_thread (task, bdmv_metadata_thread);
#else
- GSimpleAsyncResult *simple;
-
- simple = g_simple_async_result_new (G_OBJECT (directory),
- callback,
- user_data,
- g_vfs_mount_info_query_bdmv_volume_info);
- g_simple_async_result_set_error (simple,
- G_IO_ERROR,
- G_IO_ERROR_NOT_SUPPORTED,
- "gvfs built without Expat support, no BDMV support");
- g_object_unref (simple);
+ g_task_return_new_error (task,
+ G_IO_ERROR,
+ G_IO_ERROR_NOT_SUPPORTED,
+ "gvfs built without Expat support, no BDMV support");
#endif /* HAVE_BLURAY */
+
+ g_object_unref (task);
}
-GIcon *g_vfs_mount_info_query_bdmv_volume_info_finish (GFile *directory,
- GAsyncResult *res,
- gchar **out_name,
- GError **error)
+GIcon *
+g_vfs_mount_info_query_bdmv_volume_info_finish (GFile *directory,
+ GAsyncResult *res,
+ gchar **out_name,
+ GError **error)
{
- GSimpleAsyncResult *simple = G_SIMPLE_ASYNC_RESULT (res);
- GIcon *ret;
-
- g_warn_if_fail (g_simple_async_result_get_source_tag (simple) == g_vfs_mount_info_query_bdmv_volume_info);
+ GTask *task;
- ret = NULL;
+ g_warn_if_fail (g_task_async_result_get_source_tag (task) == g_vfs_mount_info_query_bdmv_volume_info);
- if (g_simple_async_result_propagate_error (simple, error))
- goto out;
+ task = G_TASK (res);
- ret = g_simple_async_result_get_op_res_gpointer (simple);
+ if (out_name != NULL && !g_task_had_error (task))
+ *out_name = g_strdup (g_object_get_data (G_OBJECT (task), "name"));
- if (out_name != NULL)
- *out_name = g_strdup (g_object_get_data (G_OBJECT (simple), "name"));
-
- out:
- return ret;
+ return g_task_propagate_pointer (task, error);
}
/* ---------------------------------------------------------------------------------------------------- */
@@ -643,10 +578,6 @@ typedef struct _InsensitiveFileSearchData
gint index;
GFileEnumerator *enumerator;
GFile *current_file;
-
- GCancellable *cancellable;
- GAsyncReadyCallback callback;
- gpointer user_data;
} InsensitiveFileSearchData;
static void
@@ -656,22 +587,22 @@ _g_find_file_insensitive_async (GFile *parent,
GAsyncReadyCallback callback,
gpointer user_data)
{
+ GTask *task;
InsensitiveFileSearchData *data;
GFile *direct_file = g_file_get_child (parent, name);
+ task = g_task_new (parent, cancellable, callback, user_data);
+
data = g_new0 (InsensitiveFileSearchData, 1);
- data->cancellable = cancellable;
- data->callback = callback;
- data->user_data = user_data;
data->root = g_object_ref (parent);
data->original_path = g_strdup (name);
+ g_task_set_task_data (task, data,
+ (GDestroyNotify)clear_file_file_insensitive_state);
g_file_query_info_async (direct_file, G_FILE_ATTRIBUTE_STANDARD_TYPE,
G_FILE_QUERY_INFO_NONE, G_PRIORITY_DEFAULT,
cancellable,
- find_file_insensitive_exists_callback, data);
-
-
+ find_file_insensitive_exists_callback, task);
}
static void
@@ -695,25 +626,16 @@ find_file_insensitive_exists_callback (GObject *source_object,
gpointer user_data)
{
GFileInfo *info;
- InsensitiveFileSearchData *data = (InsensitiveFileSearchData *) (user_data);
+ GTask *task = user_data;
+ InsensitiveFileSearchData *data = g_task_get_task_data (task);
/* The file exists and can be found with the given path, no need to search. */
if ((info = g_file_query_info_finish (G_FILE (source_object), res, NULL)))
{
- GSimpleAsyncResult *simple;
-
- simple = g_simple_async_result_new (G_OBJECT (data->root),
- data->callback,
- data->user_data,
- _g_find_file_insensitive_async);
-
- g_simple_async_result_set_op_res_gpointer (simple, g_object_ref (source_object), g_object_unref);
- g_simple_async_result_complete_in_idle (simple);
- g_object_unref (simple);
- clear_find_file_insensitive_state (data);
+ g_task_return_pointer (task, g_object_ref (source_object), g_object_unref);
+ g_object_unref (task);
g_object_unref (info);
}
-
else
{
data->split_path = g_strsplit (data->original_path, G_DIR_SEPARATOR_S, -1);
@@ -727,10 +649,10 @@ find_file_insensitive_exists_callback (GObject *source_object,
data->index++;
g_file_enumerate_children_async (data->current_file,
- G_FILE_ATTRIBUTE_STANDARD_NAME,
- 0, G_PRIORITY_DEFAULT,
- data->cancellable,
- enumerated_children_callback, data);
+ G_FILE_ATTRIBUTE_STANDARD_NAME, 0,
+ g_task_get_priority (task),
+ g_task_get_cancellable (task),
+ enumerated_children_callback, task);
}
g_object_unref (source_object);
@@ -741,27 +663,20 @@ enumerated_children_callback (GObject *source_object, GAsyncResult *res,
gpointer user_data)
{
GFileEnumerator *enumerator;
- InsensitiveFileSearchData *data = (InsensitiveFileSearchData *) (user_data);
+ GTask *task = user_data;
+ InsensitiveFileSearchData *data = g_task_get_task_data (task);
enumerator = g_file_enumerate_children_finish (G_FILE (source_object),
res, NULL);
if (enumerator == NULL)
{
- GSimpleAsyncResult *simple;
GFile *file;
- simple = g_simple_async_result_new (G_OBJECT (data->root),
- data->callback,
- data->user_data,
- _g_find_file_insensitive_async);
-
file = g_file_get_child (data->root, data->original_path);
- g_simple_async_result_set_op_res_gpointer (simple, g_object_ref (file), g_object_unref);
- g_simple_async_result_complete_in_idle (simple);
- g_object_unref (simple);
- clear_find_file_insensitive_state (data);
+ g_task_return_pointer (task, g_object_ref (file), g_object_unref);
+ g_object_unref (task);
return;
}
@@ -771,14 +686,15 @@ enumerated_children_callback (GObject *source_object, GAsyncResult *res,
G_PRIORITY_DEFAULT,
data->cancellable,
more_files_callback,
- data);
+ task);
}
static void
more_files_callback (GObject *source_object, GAsyncResult *res,
gpointer user_data)
{
- InsensitiveFileSearchData *data = (InsensitiveFileSearchData *) (user_data);
+ GTask *task = user_data;
+ InsensitiveFileSearchData *data = g_task_get_task_data (task);
GList *files, *l;
gchar *filename = NULL, *component, *case_folded_name,
*name_collation_key;
@@ -864,49 +780,32 @@ more_files_callback (GObject *source_object, GAsyncResult *res,
if (data->split_path[data->index] == NULL)
{
/* Search is complete, file was found */
- GSimpleAsyncResult *simple;
-
- simple = g_simple_async_result_new (G_OBJECT (data->root),
- data->callback,
- data->user_data,
- _g_find_file_insensitive_async);
-
- g_simple_async_result_set_op_res_gpointer (simple, g_object_ref (data->current_file), g_object_unref);
- g_simple_async_result_complete_in_idle (simple);
- g_object_unref (simple);
- clear_find_file_insensitive_state (data);
+ g_task_return_pointer (task, g_object_ref (data->current_file), g_object_unref);
+ g_object_unref (task);
return;
}
/* Continue searching down the tree */
g_file_enumerate_children_async (data->current_file,
- G_FILE_ATTRIBUTE_STANDARD_NAME,
- 0, G_PRIORITY_DEFAULT,
- data->cancellable,
+ G_FILE_ATTRIBUTE_STANDARD_NAME, 0,
+ g_task_get_priority (task),
+ g_task_get_cancellable (task),
enumerated_children_callback,
- data);
+ task);
return;
}
if (end_of_files)
{
/* Could not find the given file, abort the search */
- GSimpleAsyncResult *simple;
GFile *file;
g_object_unref (data->enumerator);
data->enumerator = NULL;
- simple = g_simple_async_result_new (G_OBJECT (data->root),
- data->callback,
- data->user_data,
- _g_find_file_insensitive_async);
-
file = g_file_get_child (data->root, data->original_path);
- g_simple_async_result_set_op_res_gpointer (simple, file, g_object_unref);
- g_simple_async_result_complete_in_idle (simple);
- g_object_unref (simple);
- clear_find_file_insensitive_state (data);
+ g_task_return_pointer (task, file, g_object_unref);
+ g_object_unref (task);
return;
}
@@ -924,16 +823,9 @@ _g_find_file_insensitive_finish (GFile *parent,
GAsyncResult *result,
GError **error)
{
- GSimpleAsyncResult *simple;
GFile *file;
- g_return_val_if_fail (G_IS_SIMPLE_ASYNC_RESULT (result), NULL);
-
- simple = G_SIMPLE_ASYNC_RESULT (result);
-
- if (g_simple_async_result_propagate_error (simple, error))
- return NULL;
+ g_return_val_if_fail (g_task_is_valid (result, parent), NULL);
- file = G_FILE (g_simple_async_result_get_op_res_gpointer (simple));
- return g_object_ref (file);
+ return g_task_propagate_pointer (G_TASK (result), error);
}
diff --git a/daemon/gvfsafpconnection.c b/daemon/gvfsafpconnection.c
index be489c54..b49f915a 100644
--- a/daemon/gvfsafpconnection.c
+++ b/daemon/gvfsafpconnection.c
@@ -662,7 +662,7 @@ typedef struct
GVfsAfpCommand *command;
char *reply_buf;
- GSimpleAsyncResult *simple;
+ GTask *task;
GCancellable *cancellable;
} RequestData;
@@ -671,8 +671,8 @@ free_request_data (RequestData *req_data)
{
if (req_data->command)
g_object_unref (req_data->command);
- if (req_data->simple)
- g_object_unref (req_data->simple);
+ if (req_data->task)
+ g_object_unref (req_data->task);
if (req_data->cancellable)
g_object_unref (req_data->cancellable);
@@ -785,7 +785,7 @@ static void
read_all_cb (GObject *source_object, GAsyncResult *res, gpointer user_data)
{
GInputStream *stream = G_INPUT_STREAM (source_object);
- GSimpleAsyncResult *simple = G_SIMPLE_ASYNC_RESULT (user_data);
+ GTask *task = G_TASK (user_data);
gsize bytes_read;
GError *err = NULL;
@@ -794,11 +794,11 @@ read_all_cb (GObject *source_object, GAsyncResult *res, gpointer user_data)
bytes_read = g_input_stream_read_finish (stream, res, &err);
if (bytes_read == -1)
{
- g_simple_async_result_take_error (simple, err);
+ g_task_async_result_take_error (task, err);
goto done;
}
- read_data = g_simple_async_result_get_op_res_gpointer (simple);
+ read_data = g_task_propagate_pointer (task, error);
read_data->bytes_read += bytes_read;
if (read_data->bytes_read < read_data->count)
@@ -806,13 +806,13 @@ read_all_cb (GObject *source_object, GAsyncResult *res, gpointer user_data)
g_input_stream_read_async (stream,
(guint8 *)read_data->buffer + read_data->bytes_read,
read_data->count - read_data->bytes_read, 0,
- read_data->cancellable, read_all_cb, simple);
+ read_data->cancellable, read_all_cb, task);
return;
}
done:
- g_simple_async_result_complete (simple);
- g_object_unref (simple);
+ g_task_async_result_complete (task);
+ g_object_unref (task);
}
static void
@@ -825,7 +825,7 @@ read_all_async (GInputStream *stream,
gpointer user_data)
{
ReadAllData *read_data;
- GSimpleAsyncResult *simple;
+ GTask *task;
read_data = g_slice_new0 (ReadAllData);
read_data->buffer = buffer;
@@ -834,13 +834,13 @@ read_all_async (GInputStream *stream,
if (cancellable)
read_data->cancellable = g_object_ref (cancellable);
- simple = g_simple_async_result_new (G_OBJECT (stream), callback, user_data,
+ task = g_task_new (stream, callback, user_data,
read_all_async);
- g_simple_async_result_set_op_res_gpointer (simple, read_data,
+ g_task_return_pointer (task, read_data,
(GDestroyNotify)free_read_all_data);
g_input_stream_read_async (stream, buffer, count, io_priority, cancellable,
- read_all_cb, simple);
+ read_all_cb, task);
}
static gboolean
@@ -849,22 +849,22 @@ read_all_finish (GInputStream *stream,
gsize *bytes_read,
GError **error)
{
- GSimpleAsyncResult *simple;
+ GTask *task;
- g_return_val_if_fail (g_simple_async_result_is_valid (res, G_OBJECT (stream),
+ g_return_val_if_fail (g_task_async_result_is_valid (res, G_OBJECT (stream),
read_all_async),
FALSE);
- simple = (GSimpleAsyncResult *)res;
+ task = (GTask *)res;
- if (g_simple_async_result_propagate_error (simple, error))
+ if (g_task_async_result_propagate_error (task, error))
return FALSE;
if (bytes_read)
{
ReadAllData *read_data;
- read_data = g_simple_async_result_get_op_res_gpointer (simple);
+ read_data = g_task_propagate_pointer (task, error);
*bytes_read = read_data->bytes_read;
}
@@ -923,9 +923,9 @@ dispatch_reply (GVfsAfpConnection *afp_connection)
dsi_header->totalDataLength, priv->free_reply_buf);
priv->free_reply_buf = FALSE;
- g_simple_async_result_set_op_res_gpointer (req_data->simple, reply,
+ g_task_return_pointer (req_data->task, reply,
g_object_unref);
- g_simple_async_result_complete (req_data->simple);
+ g_task_async_result_complete (req_data->task);
g_hash_table_remove (priv->request_hash,
GUINT_TO_POINTER ((guint)dsi_header->requestID));
@@ -1051,7 +1051,7 @@ write_all_cb (GObject *source_object,
gpointer user_data)
{
GOutputStream *stream = G_OUTPUT_STREAM (source_object);
- GSimpleAsyncResult *simple = G_SIMPLE_ASYNC_RESULT (user_data);
+ GTask *task = G_TASK (user_data);
gssize bytes_written;
GError *err = NULL;
@@ -1060,11 +1060,11 @@ write_all_cb (GObject *source_object,
bytes_written = g_output_stream_write_finish (stream, res, &err);
if (bytes_written == -1)
{
- g_simple_async_result_take_error (simple, err);
+ g_task_async_result_take_error (task, err);
goto done;
}
- write_data = g_simple_async_result_get_op_res_gpointer (simple);
+ write_data = g_task_propagate_pointer (task, error);
write_data->bytes_written += bytes_written;
if (write_data->bytes_written < write_data->count)
@@ -1073,13 +1073,13 @@ write_all_cb (GObject *source_object,
(const guint8 *)write_data->buffer + write_data->bytes_written,
write_data->count - write_data->bytes_written,
write_data->io_priority, write_data->cancellable,
- write_all_cb, simple);
+ write_all_cb, task);
return;
}
done:
- g_simple_async_result_complete (simple);
- g_object_unref (simple);
+ g_task_async_result_complete (task);
+ g_object_unref (task);
}
static void
@@ -1091,7 +1091,7 @@ write_all_async (GOutputStream *stream,
GAsyncReadyCallback callback,
gpointer user_data)
{
- GSimpleAsyncResult *simple;
+ GTask *task;
WriteAllData *write_data;
write_data = g_slice_new0 (WriteAllData);
@@ -1101,13 +1101,13 @@ write_all_async (GOutputStream *stream,
if (cancellable)
write_data->cancellable = g_object_ref (cancellable);
- simple = g_simple_async_result_new (G_OBJECT (stream), callback, user_data,
+ task = g_task_new (stream, callback, user_data,
write_all_async);
- g_simple_async_result_set_op_res_gpointer (simple, write_data,
+ g_task_return_pointer (task, write_data,
(GDestroyNotify)free_write_all_data);
g_output_stream_write_async (stream, buffer, count, io_priority, cancellable,
- write_all_cb, simple);
+ write_all_cb, task);
}
static gboolean
@@ -1116,14 +1116,14 @@ write_all_finish (GOutputStream *stream,
gsize *bytes_written,
GError **error)
{
- GSimpleAsyncResult *simple;
+ GTask *task;
- g_return_val_if_fail (g_simple_async_result_is_valid (res, G_OBJECT (stream),
+ g_return_val_if_fail (g_task_async_result_is_valid (res, G_OBJECT (stream),
write_all_async),
FALSE);
- simple = (GSimpleAsyncResult *)res;
- if (g_simple_async_result_propagate_error (simple, error))
+ task = (GTask *)res;
+ if (g_task_async_result_propagate_error (task, error))
return FALSE;
@@ -1131,7 +1131,7 @@ write_all_finish (GOutputStream *stream,
{
WriteAllData *write_data;
- write_data = g_simple_async_result_get_op_res_gpointer (simple);
+ write_data = g_task_propagate_pointer (task, error);
*bytes_written = write_data->bytes_written;
}
@@ -1154,10 +1154,10 @@ remove_first (GQueue *request_queue)
result = write_all_finish (output, res, NULL, &err); \
if (!result) \
{ \
- if (req_data->simple) \
+ if (req_data->task) \
{ \
- g_simple_async_result_set_from_error (req_data->simple, err); \
- g_simple_async_result_complete (req_data->simple); \
+ g_task_return_error (req_data->task, err); \
+ g_task_async_result_complete (req_data->task); \
} \
\
remove_first (priv->request_queue); \
@@ -1261,13 +1261,13 @@ send_request (GVfsAfpConnection *afp_connection)
{
if (req_data->cancellable && g_cancellable_is_cancelled (req_data->cancellable))
{
- if (req_data->simple)
+ if (req_data->task)
{
GError *err = NULL;
g_cancellable_set_error_if_cancelled (req_data->cancellable, &err);
- g_simple_async_result_take_error (req_data->simple, err);
- g_simple_async_result_complete (req_data->simple);
+ g_task_async_result_take_error (req_data->task, err);
+ g_task_async_result_complete (req_data->task);
}
remove_first (priv->request_queue);
}
@@ -1354,7 +1354,7 @@ g_vfs_afp_connection_send_command (GVfsAfpConnection *afp_connection,
req_data->command = g_object_ref (command);
req_data->reply_buf = reply_buf;
- req_data->simple = g_simple_async_result_new (G_OBJECT (afp_connection), callback,
+ req_data->task = g_task_new (afp_connection, callback,
user_data,
g_vfs_afp_connection_send_command);
if (cancellable)
@@ -1370,19 +1370,19 @@ g_vfs_afp_connection_send_command_finish (GVfsAfpConnection *afp_connection,
GAsyncResult *res,
GError **error)
{
- GSimpleAsyncResult *simple;
+ GTask *task;
- g_return_val_if_fail (g_simple_async_result_is_valid (res,
+ g_return_val_if_fail (g_task_async_result_is_valid (res,
G_OBJECT (afp_connection),
g_vfs_afp_connection_send_command),
NULL);
- simple = (GSimpleAsyncResult *)res;
+ task = (GTask *)res;
- if (g_simple_async_result_propagate_error (simple, error))
+ if (g_task_async_result_propagate_error (task, error))
return NULL;
- return g_object_ref (g_simple_async_result_get_op_res_gpointer (simple));
+ return g_object_ref (g_task_propagate_pointer (task, error));
}
static gboolean
diff --git a/daemon/gvfsafpserver.c b/daemon/gvfsafpserver.c
index 8dbd3077..5992b6b4 100644
--- a/daemon/gvfsafpserver.c
+++ b/daemon/gvfsafpserver.c
@@ -1132,7 +1132,7 @@ static void
get_volumes_cb (GObject *source_object, GAsyncResult *res, gpointer user_data)
{
GVfsAfpConnection *afp_conn = G_VFS_AFP_CONNECTION (source_object);
- GSimpleAsyncResult *simple = G_SIMPLE_ASYNC_RESULT (user_data);
+ GTask *task = G_TASK (user_data);
GVfsAfpReply *reply;
GError *err = NULL;
@@ -1144,7 +1144,7 @@ get_volumes_cb (GObject *source_object, GAsyncResult *res, gpointer user_data)
reply = g_vfs_afp_connection_send_command_finish (afp_conn, res, &err);
if (!reply)
{
- g_simple_async_result_take_error (simple, err);
+ g_task_async_result_take_error (task, err);
goto done;
}
@@ -1153,7 +1153,7 @@ get_volumes_cb (GObject *source_object, GAsyncResult *res, gpointer user_data)
{
g_object_unref (reply);
- g_simple_async_result_take_error (simple, afp_result_code_to_gerror (res_code));
+ g_task_async_result_take_error (task, afp_result_code_to_gerror (res_code));
goto done;
}
@@ -1185,11 +1185,11 @@ get_volumes_cb (GObject *source_object, GAsyncResult *res, gpointer user_data)
}
g_object_unref (reply);
- g_simple_async_result_set_op_res_gpointer (simple, volumes,
+ g_task_return_pointer (task, volumes,
(GDestroyNotify)g_ptr_array_unref);
done:
- g_simple_async_result_complete (simple);
- g_object_unref (simple);
+ g_task_async_result_complete (task);
+ g_object_unref (task);
}
/*
@@ -1209,18 +1209,18 @@ g_vfs_afp_server_get_volumes (GVfsAfpServer *server,
gpointer user_data)
{
GVfsAfpCommand *comm;
- GSimpleAsyncResult *simple;
+ GTask *task;
/* Get Server Parameters */
comm = g_vfs_afp_command_new (AFP_COMMAND_GET_SRVR_PARMS);
/* pad byte */
g_vfs_afp_command_put_byte (comm, 0);
- simple = g_simple_async_result_new (G_OBJECT (server), callback, user_data,
+ task = g_task_new (server, callback, user_data,
g_vfs_afp_server_get_volumes);
g_vfs_afp_connection_send_command (server->conn, comm, NULL, get_volumes_cb,
- cancellable, simple);
+ cancellable, task);
}
/*
@@ -1242,19 +1242,19 @@ g_vfs_afp_server_get_volumes_finish (GVfsAfpServer *server,
GAsyncResult *result,
GError **error)
{
- GSimpleAsyncResult *simple;
+ GTask *task;
- g_return_val_if_fail (g_simple_async_result_is_valid (result,
+ g_return_val_if_fail (g_task_async_result_is_valid (result,
G_OBJECT (server),
g_vfs_afp_server_get_volumes),
NULL);
- simple = (GSimpleAsyncResult *)result;
+ task = (GTask *)result;
- if (g_simple_async_result_propagate_error (simple, error))
+ if (g_task_async_result_propagate_error (task, error))
return NULL;
- return g_ptr_array_ref ((GPtrArray *)g_simple_async_result_get_op_res_gpointer (simple));
+ return g_ptr_array_ref ((GPtrArray *)g_task_propagate_pointer (task, error));
}
GVfsAfpVolume *
diff --git a/daemon/gvfsafpvolume.c b/daemon/gvfsafpvolume.c
index 3fd33f28..a56386bd 100644
--- a/daemon/gvfsafpvolume.c
+++ b/daemon/gvfsafpvolume.c
@@ -173,9 +173,9 @@ static void
get_vol_parms_cb (GObject *source_object, GAsyncResult *res, gpointer user_data)
{
GVfsAfpConnection *connection = G_VFS_AFP_CONNECTION (source_object);
- GSimpleAsyncResult *simple = G_SIMPLE_ASYNC_RESULT (user_data);
+ GTask *task = G_TASK (user_data);
- GVfsAfpVolume *volume = G_VFS_AFP_VOLUME (g_async_result_get_source_object (G_ASYNC_RESULT (simple)));
+ GVfsAfpVolume *volume = G_VFS_AFP_VOLUME (g_async_result_get_source_object (G_ASYNC_RESULT (task)));
GVfsAfpVolumePrivate *priv = volume->priv;
GVfsAfpReply *reply;
@@ -188,7 +188,7 @@ get_vol_parms_cb (GObject *source_object, GAsyncResult *res, gpointer user_data)
reply = g_vfs_afp_connection_send_command_finish (connection, res, &err);
if (!reply)
{
- g_simple_async_result_take_error (simple, err);
+ g_task_async_result_take_error (task, err);
goto done;
}
@@ -197,7 +197,7 @@ get_vol_parms_cb (GObject *source_object, GAsyncResult *res, gpointer user_data)
{
g_object_unref (reply);
- g_simple_async_result_take_error (simple, afp_result_code_to_gerror (res_code));
+ g_task_async_result_take_error (task, afp_result_code_to_gerror (res_code));
goto done;
}
@@ -259,11 +259,11 @@ get_vol_parms_cb (GObject *source_object, GAsyncResult *res, gpointer user_data)
g_object_unref (reply);
- g_simple_async_result_set_op_res_gpointer (simple, info, g_object_unref);
+ g_task_return_pointer (task, info, g_object_unref);
done:
- g_simple_async_result_complete (simple);
- g_object_unref (simple);
+ g_task_async_result_complete (task);
+ g_object_unref (task);
}
/*
@@ -286,7 +286,7 @@ g_vfs_afp_volume_get_parms (GVfsAfpVolume *volume,
{
GVfsAfpVolumePrivate *priv;
GVfsAfpCommand *comm;
- GSimpleAsyncResult *simple;
+ GTask *task;
priv = volume->priv;
@@ -298,12 +298,12 @@ g_vfs_afp_volume_get_parms (GVfsAfpVolume *volume,
/* Volume Bitmap */
g_vfs_afp_command_put_uint16 (comm, vol_bitmap);
- simple = g_simple_async_result_new (G_OBJECT (volume), callback, user_data,
+ task = g_task_new (volume, callback, user_data,
g_vfs_afp_volume_get_parms);
g_vfs_afp_connection_send_command (priv->server->conn, comm, NULL, get_vol_parms_cb,
- cancellable, simple);
+ cancellable, task);
g_object_unref (comm);
}
@@ -325,19 +325,19 @@ g_vfs_afp_volume_get_parms_finish (GVfsAfpVolume *volume,
GAsyncResult *result,
GError **error)
{
- GSimpleAsyncResult *simple;
+ GTask *task;
- g_return_val_if_fail (g_simple_async_result_is_valid (result,
+ g_return_val_if_fail (g_task_async_result_is_valid (result,
G_OBJECT (volume),
g_vfs_afp_volume_get_parms),
NULL);
- simple = (GSimpleAsyncResult *)result;
+ task = (GTask *)result;
- if (g_simple_async_result_propagate_error (simple, error))
+ if (g_task_async_result_propagate_error (task, error))
return NULL;
- return g_object_ref (g_simple_async_result_get_op_res_gpointer (simple));
+ return g_object_ref (g_task_propagate_pointer (task, error));
}
typedef struct
@@ -358,7 +358,7 @@ static void
open_fork_cb (GObject *source_object, GAsyncResult *res, gpointer user_data)
{
GVfsAfpConnection *conn = G_VFS_AFP_CONNECTION (source_object);
- GSimpleAsyncResult *simple = G_SIMPLE_ASYNC_RESULT (user_data);
+ GTask *task = G_TASK (user_data);
GVfsAfpVolume *volume;
GVfsAfpVolumePrivate *priv;
@@ -369,13 +369,13 @@ open_fork_cb (GObject *source_object, GAsyncResult *res, gpointer user_data)
OpenForkData *data;
guint16 file_bitmap;
- volume = G_VFS_AFP_VOLUME (g_async_result_get_source_object (G_ASYNC_RESULT (simple)));
+ volume = G_VFS_AFP_VOLUME (g_async_result_get_source_object (G_ASYNC_RESULT (task)));
priv = volume->priv;
reply = g_vfs_afp_connection_send_command_finish (conn, res, &err);
if (!reply)
{
- g_simple_async_result_take_error (simple, err);
+ g_task_async_result_take_error (task, err);
goto done;
}
@@ -387,23 +387,23 @@ open_fork_cb (GObject *source_object, GAsyncResult *res, gpointer user_data)
switch (res_code)
{
case AFP_RESULT_ACCESS_DENIED:
- g_simple_async_result_set_error (simple, G_IO_ERROR, G_IO_ERROR_PERMISSION_DENIED,
+ g_task_return_new_error (task, G_IO_ERROR, G_IO_ERROR_PERMISSION_DENIED,
_("Permission denied"));
break;
case AFP_RESULT_OBJECT_NOT_FOUND:
- g_simple_async_result_set_error (simple, G_IO_ERROR, G_IO_ERROR_NOT_FOUND,
+ g_task_return_new_error (task, G_IO_ERROR, G_IO_ERROR_NOT_FOUND,
_("File doesn't exist"));
break;
case AFP_RESULT_OBJECT_TYPE_ERR:
- g_simple_async_result_set_error (simple, G_IO_ERROR, G_IO_ERROR_IS_DIRECTORY,
+ g_task_return_new_error (task, G_IO_ERROR, G_IO_ERROR_IS_DIRECTORY,
_("File is directory"));
break;
case AFP_RESULT_TOO_MANY_FILES_OPEN:
- g_simple_async_result_set_error (simple, G_IO_ERROR, G_IO_ERROR_TOO_MANY_OPEN_FILES,
+ g_task_return_new_error (task, G_IO_ERROR, G_IO_ERROR_TOO_MANY_OPEN_FILES,
_("Too many files open"));
break;
default:
- g_simple_async_result_take_error (simple, afp_result_code_to_gerror (res_code));
+ g_task_async_result_take_error (task, afp_result_code_to_gerror (res_code));
break;
}
goto done;
@@ -418,12 +418,12 @@ open_fork_cb (GObject *source_object, GAsyncResult *res, gpointer user_data)
g_vfs_afp_server_fill_info (priv->server, data->info, reply, FALSE, file_bitmap);
g_object_unref (reply);
- g_simple_async_result_set_op_res_gpointer (simple, data,
+ g_task_return_pointer (task, data,
(GDestroyNotify)open_fork_data_free);
done:
- g_simple_async_result_complete (simple);
- g_object_unref (simple);
+ g_task_async_result_complete (task);
+ g_object_unref (task);
}
/*
@@ -451,7 +451,7 @@ g_vfs_afp_volume_open_fork (GVfsAfpVolume *volume,
{
GVfsAfpVolumePrivate *priv;
GVfsAfpCommand *comm;
- GSimpleAsyncResult *simple;
+ GTask *task;
g_return_if_fail (G_VFS_IS_AFP_VOLUME (volume));
@@ -459,7 +459,7 @@ g_vfs_afp_volume_open_fork (GVfsAfpVolume *volume,
if (is_root (filename))
{
- g_simple_async_report_error_in_idle (G_OBJECT (volume), callback,
+ g_task_async_report_error_in_idle (G_OBJECT (volume), callback,
user_data, G_IO_ERROR, G_IO_ERROR_IS_DIRECTORY,
_("File is directory"));
return;
@@ -483,11 +483,11 @@ g_vfs_afp_volume_open_fork (GVfsAfpVolume *volume,
/* Pathname */
g_vfs_afp_command_put_pathname (comm, filename);
- simple = g_simple_async_result_new (G_OBJECT (volume), callback,
+ task = g_task_new (volume, callback,
user_data, g_vfs_afp_volume_open_fork);
g_vfs_afp_connection_send_command (priv->server->conn, comm, NULL,
- open_fork_cb, cancellable, simple);
+ open_fork_cb, cancellable, task);
g_object_unref (comm);
}
@@ -512,20 +512,20 @@ g_vfs_afp_volume_open_fork_finish (GVfsAfpVolume *volume,
GFileInfo **info,
GError **error)
{
- GSimpleAsyncResult *simple;
+ GTask *task;
OpenForkData *data;
- g_return_val_if_fail (g_simple_async_result_is_valid (res,
+ g_return_val_if_fail (g_task_async_result_is_valid (res,
G_OBJECT (volume),
g_vfs_afp_volume_open_fork),
FALSE);
- simple = (GSimpleAsyncResult *)res;
+ task = (GTask *)res;
- if (g_simple_async_result_propagate_error (simple, error))
+ if (g_task_async_result_propagate_error (task, error))
return FALSE;
- data = g_simple_async_result_get_op_res_gpointer (simple);
+ data = g_task_propagate_pointer (task, error);
if (fork_refnum)
*fork_refnum = data->fork_refnum;
if (info)
@@ -538,7 +538,7 @@ static void
close_fork_cb (GObject *source_object, GAsyncResult *res, gpointer user_data)
{
GVfsAfpConnection *conn = G_VFS_AFP_CONNECTION (source_object);
- GSimpleAsyncResult *simple = G_SIMPLE_ASYNC_RESULT (user_data);
+ GTask *task = G_TASK (user_data);
GVfsAfpReply *reply;
GError *err = NULL;
@@ -547,7 +547,7 @@ close_fork_cb (GObject *source_object, GAsyncResult *res, gpointer user_data)
reply = g_vfs_afp_connection_send_command_finish (conn, res, &err);
if (!reply)
{
- g_simple_async_result_take_error (simple, err);
+ g_task_async_result_take_error (task, err);
goto done;
}
@@ -555,11 +555,11 @@ close_fork_cb (GObject *source_object, GAsyncResult *res, gpointer user_data)
g_object_unref (reply);
if (res_code != AFP_RESULT_NO_ERROR)
- g_simple_async_result_take_error (simple, afp_result_code_to_gerror (res_code));
+ g_task_async_result_take_error (task, afp_result_code_to_gerror (res_code));
done:
- g_simple_async_result_complete (simple);
- g_object_unref (simple);
+ g_task_async_result_complete (task);
+ g_object_unref (task);
}
/*
@@ -582,7 +582,7 @@ g_vfs_afp_volume_close_fork (GVfsAfpVolume *volume,
{
GVfsAfpVolumePrivate *priv;
GVfsAfpCommand *comm;
- GSimpleAsyncResult *simple;
+ GTask *task;
g_return_if_fail (G_VFS_IS_AFP_VOLUME (volume));
@@ -595,11 +595,11 @@ g_vfs_afp_volume_close_fork (GVfsAfpVolume *volume,
/* OForkRefNum */
g_vfs_afp_command_put_int16 (comm, fork_refnum);
- simple = g_simple_async_result_new (G_OBJECT (volume), callback, user_data,
+ task = g_task_new (volume, callback, user_data,
g_vfs_afp_volume_close_fork);
g_vfs_afp_connection_send_command (priv->server->conn, comm, NULL,
- close_fork_cb, cancellable, simple);
+ close_fork_cb, cancellable, task);
g_object_unref (comm);
}
@@ -620,16 +620,16 @@ g_vfs_afp_volume_close_fork_finish (GVfsAfpVolume *volume,
GAsyncResult *result,
GError **error)
{
- GSimpleAsyncResult *simple;
+ GTask *task;
- g_return_val_if_fail (g_simple_async_result_is_valid (result,
+ g_return_val_if_fail (g_task_async_result_is_valid (result,
G_OBJECT (volume),
g_vfs_afp_volume_close_fork),
FALSE);
- simple = (GSimpleAsyncResult *)result;
+ task = (GTask *)result;
- if (g_simple_async_result_propagate_error (simple, error))
+ if (g_task_async_result_propagate_error (task, error))
return FALSE;
return TRUE;
@@ -639,7 +639,7 @@ static void
delete_cb (GObject *source_object, GAsyncResult *res, gpointer user_data)
{
GVfsAfpConnection *conn = G_VFS_AFP_CONNECTION (source_object);
- GSimpleAsyncResult *simple = G_SIMPLE_ASYNC_RESULT (user_data);
+ GTask *task = G_TASK (user_data);
GVfsAfpReply *reply;
GError *err = NULL;
@@ -648,7 +648,7 @@ delete_cb (GObject *source_object, GAsyncResult *res, gpointer user_data)
reply = g_vfs_afp_connection_send_command_finish (conn, res, &err);
if (!reply)
{
- g_simple_async_result_take_error (simple, err);
+ g_task_async_result_take_error (task, err);
goto done;
}
@@ -660,38 +660,38 @@ delete_cb (GObject *source_object, GAsyncResult *res, gpointer user_data)
switch (res_code)
{
case AFP_RESULT_ACCESS_DENIED:
- g_simple_async_result_set_error (simple, G_IO_ERROR, G_IO_ERROR_PERMISSION_DENIED,
+ g_task_return_new_error (task, G_IO_ERROR, G_IO_ERROR_PERMISSION_DENIED,
_("Permission denied"));
break;
case AFP_RESULT_FILE_BUSY:
- g_simple_async_result_set_error (simple, G_IO_ERROR, G_IO_ERROR_BUSY,
+ g_task_return_new_error (task, G_IO_ERROR, G_IO_ERROR_BUSY,
_("Target file is open"));
break;
case AFP_RESULT_DIR_NOT_EMPTY:
- g_simple_async_result_set_error (simple, G_IO_ERROR, G_IO_ERROR_NOT_EMPTY,
+ g_task_return_new_error (task, G_IO_ERROR, G_IO_ERROR_NOT_EMPTY,
_("Directory not empty"));
break;
case AFP_RESULT_OBJECT_LOCKED:
- g_simple_async_result_set_error (simple, G_IO_ERROR, G_IO_ERROR_FAILED,
+ g_task_return_new_error (task, G_IO_ERROR, G_IO_ERROR_FAILED,
_("Target object is marked as not deletable (DeleteInhibit)"));
break;
case AFP_RESULT_OBJECT_NOT_FOUND:
- g_simple_async_result_set_error (simple, G_IO_ERROR, G_IO_ERROR_NOT_FOUND,
+ g_task_return_new_error (task, G_IO_ERROR, G_IO_ERROR_NOT_FOUND,
_("Target object doesn't exist"));
break;
case AFP_RESULT_VOL_LOCKED:
- g_simple_async_result_set_error (simple, G_IO_ERROR, G_IO_ERROR_PERMISSION_DENIED,
+ g_task_return_new_error (task, G_IO_ERROR, G_IO_ERROR_PERMISSION_DENIED,
_("Volume is read-only"));
break;
default:
- g_simple_async_result_take_error (simple, afp_result_code_to_gerror (res_code));
+ g_task_async_result_take_error (task, afp_result_code_to_gerror (res_code));
break;
}
}
done:
- g_simple_async_result_complete (simple);
- g_object_unref (simple);
+ g_task_async_result_complete (task);
+ g_object_unref (task);
}
/*
@@ -714,7 +714,7 @@ g_vfs_afp_volume_delete (GVfsAfpVolume *volume,
{
GVfsAfpVolumePrivate *priv;
GVfsAfpCommand *comm;
- GSimpleAsyncResult *simple;
+ GTask *task;
g_return_if_fail (G_VFS_IS_AFP_VOLUME (volume));
@@ -731,11 +731,11 @@ g_vfs_afp_volume_delete (GVfsAfpVolume *volume,
/* Pathname */
g_vfs_afp_command_put_pathname (comm, filename);
- simple = g_simple_async_result_new (G_OBJECT (volume), callback,
+ task = g_task_new (volume, callback,
user_data, g_vfs_afp_volume_delete);
g_vfs_afp_connection_send_command (priv->server->conn, comm, NULL,
- delete_cb, cancellable, simple);
+ delete_cb, cancellable, task);
g_object_unref (comm);
}
@@ -756,16 +756,16 @@ g_vfs_afp_volume_delete_finish (GVfsAfpVolume *volume,
GAsyncResult *result,
GError **error)
{
- GSimpleAsyncResult *simple;
+ GTask *task;
- g_return_val_if_fail (g_simple_async_result_is_valid (result,
+ g_return_val_if_fail (g_task_async_result_is_valid (result,
G_OBJECT (volume),
g_vfs_afp_volume_delete),
FALSE);
- simple = (GSimpleAsyncResult *)result;
+ task = (GTask *)result;
- if (g_simple_async_result_propagate_error (simple, error))
+ if (g_task_async_result_propagate_error (task, error))
return FALSE;
return TRUE;
@@ -792,7 +792,7 @@ static void
create_file_cb (GObject *object, GAsyncResult *res, gpointer user_data)
{
GVfsAfpConnection *conn = G_VFS_AFP_CONNECTION (object);
- GSimpleAsyncResult *simple = G_SIMPLE_ASYNC_RESULT (user_data);
+ GTask *task = G_TASK (user_data);
GVfsAfpReply *reply;
GError *err = NULL;
@@ -802,7 +802,7 @@ create_file_cb (GObject *object, GAsyncResult *res, gpointer user_data)
reply = g_vfs_afp_connection_send_command_finish (conn, res, &err);
if (!reply)
{
- g_simple_async_result_take_error (simple, err);
+ g_task_async_result_take_error (task, err);
goto done;
}
@@ -813,38 +813,38 @@ create_file_cb (GObject *object, GAsyncResult *res, gpointer user_data)
switch (res_code)
{
case AFP_RESULT_ACCESS_DENIED:
- g_simple_async_result_set_error (simple, G_IO_ERROR, G_IO_ERROR_PERMISSION_DENIED,
+ g_task_return_new_error (task, G_IO_ERROR, G_IO_ERROR_PERMISSION_DENIED,
_("Permission denied"));
break;
case AFP_RESULT_DISK_FULL:
- g_simple_async_result_set_error (simple, G_IO_ERROR, G_IO_ERROR_NO_SPACE,
+ g_task_return_new_error (task, G_IO_ERROR, G_IO_ERROR_NO_SPACE,
_("Not enough space on volume"));
break;
case AFP_RESULT_FILE_BUSY:
- g_simple_async_result_set_error (simple, G_IO_ERROR, G_IO_ERROR_EXISTS,
+ g_task_return_new_error (task, G_IO_ERROR, G_IO_ERROR_EXISTS,
_("Target file is open"));
break;
case AFP_RESULT_OBJECT_EXISTS:
- g_simple_async_result_set_error (simple, G_IO_ERROR, G_IO_ERROR_EXISTS,
+ g_task_return_new_error (task, G_IO_ERROR, G_IO_ERROR_EXISTS,
_("Target file already exists"));
break;
case AFP_RESULT_OBJECT_NOT_FOUND:
- g_simple_async_result_set_error (simple, G_IO_ERROR, G_IO_ERROR_NOT_FOUND,
+ g_task_return_new_error (task, G_IO_ERROR, G_IO_ERROR_NOT_FOUND,
_("Ancestor directory doesn't exist"));
break;
case AFP_RESULT_VOL_LOCKED:
- g_simple_async_result_set_error (simple, G_IO_ERROR, G_IO_ERROR_PERMISSION_DENIED,
+ g_task_return_new_error (task, G_IO_ERROR, G_IO_ERROR_PERMISSION_DENIED,
_("Volume is read-only"));
break;
default:
- g_simple_async_result_take_error (simple, afp_result_code_to_gerror (res_code));
+ g_task_async_result_take_error (task, afp_result_code_to_gerror (res_code));
break;
}
}
done:
- g_simple_async_result_complete (simple);
- g_object_unref (simple);
+ g_task_async_result_complete (task);
+ g_object_unref (task);
}
static void
@@ -852,9 +852,9 @@ create_file_get_filedir_parms_cb (GObject *source_object, GAsyncResult *res, gpo
{
GVfsAfpVolume *volume = G_VFS_AFP_VOLUME (source_object);
GVfsAfpVolumePrivate *priv = volume->priv;
- GSimpleAsyncResult *simple = G_SIMPLE_ASYNC_RESULT (user_data);
+ GTask *task = G_TASK (user_data);
- CreateFileData *cfd = g_simple_async_result_get_op_res_gpointer (simple);
+ CreateFileData *cfd = g_task_propagate_pointer (task, error);
GFileInfo *info;
GError *err = NULL;
@@ -866,9 +866,9 @@ create_file_get_filedir_parms_cb (GObject *source_object, GAsyncResult *res, gpo
info = g_vfs_afp_volume_get_filedir_parms_finish (volume, res, &err);
if (!info)
{
- g_simple_async_result_take_error (simple, err);
- g_simple_async_result_complete (simple);
- g_object_unref (simple);
+ g_task_async_result_take_error (task, err);
+ g_task_async_result_complete (task);
+ g_object_unref (task);
return;
}
@@ -889,7 +889,7 @@ create_file_get_filedir_parms_cb (GObject *source_object, GAsyncResult *res, gpo
g_free (basename);
g_vfs_afp_connection_send_command (priv->server->conn, comm, NULL,
- create_file_cb, cfd->cancellable, simple);
+ create_file_cb, cfd->cancellable, task);
g_object_unref (comm);
}
@@ -915,7 +915,7 @@ g_vfs_afp_volume_create_file (GVfsAfpVolume *volume,
gpointer user_data)
{
CreateFileData *cfd;
- GSimpleAsyncResult *simple;
+ GTask *task;
char *dirname;
cfd = g_slice_new0 (CreateFileData);
@@ -924,14 +924,14 @@ g_vfs_afp_volume_create_file (GVfsAfpVolume *volume,
if (cancellable)
cfd->cancellable = g_object_ref (cancellable);
- simple = g_simple_async_result_new (G_OBJECT (volume), callback, user_data,
+ task = g_task_new (volume, callback, user_data,
g_vfs_afp_volume_create_file);
- g_simple_async_result_set_op_res_gpointer (simple, cfd,
+ g_task_return_pointer (task, cfd,
(GDestroyNotify)create_file_data_free);
dirname = g_path_get_dirname (filename);
g_vfs_afp_volume_get_filedir_parms (volume, dirname, 0, AFP_DIR_BITMAP_NODE_ID_BIT,
- cancellable, create_file_get_filedir_parms_cb, simple);
+ cancellable, create_file_get_filedir_parms_cb, task);
g_free (dirname);
}
@@ -952,16 +952,16 @@ g_vfs_afp_volume_create_file_finish (GVfsAfpVolume *volume,
GAsyncResult *result,
GError **error)
{
- GSimpleAsyncResult *simple;
+ GTask *task;
- g_return_val_if_fail (g_simple_async_result_is_valid (result,
+ g_return_val_if_fail (g_task_async_result_is_valid (result,
G_OBJECT (volume),
g_vfs_afp_volume_create_file),
FALSE);
- simple = (GSimpleAsyncResult *)result;
+ task = (GTask *)result;
- if (g_simple_async_result_propagate_error (simple, error))
+ if (g_task_async_result_propagate_error (task, error))
return FALSE;
return TRUE;
@@ -986,7 +986,7 @@ static void
make_directory_cb (GObject *source_object, GAsyncResult *res, gpointer user_data)
{
GVfsAfpConnection *conn = G_VFS_AFP_CONNECTION (source_object);
- GSimpleAsyncResult *simple = G_SIMPLE_ASYNC_RESULT (user_data);
+ GTask *task = G_TASK (user_data);
GVfsAfpReply *reply;
GError *err = NULL;
@@ -995,7 +995,7 @@ make_directory_cb (GObject *source_object, GAsyncResult *res, gpointer user_data
reply = g_vfs_afp_connection_send_command_finish (conn, res, &err);
if (!reply)
{
- g_simple_async_result_take_error (simple, err);
+ g_task_async_result_take_error (task, err);
goto done;
}
@@ -1007,47 +1007,47 @@ make_directory_cb (GObject *source_object, GAsyncResult *res, gpointer user_data
switch (res_code)
{
case AFP_RESULT_ACCESS_DENIED:
- g_simple_async_result_set_error (simple, G_IO_ERROR, G_IO_ERROR_PERMISSION_DENIED,
+ g_task_return_new_error (task, G_IO_ERROR, G_IO_ERROR_PERMISSION_DENIED,
_("Permission denied"));
break;
case AFP_RESULT_DISK_FULL:
- g_simple_async_result_set_error (simple, G_IO_ERROR, G_IO_ERROR_NO_SPACE,
+ g_task_return_new_error (task, G_IO_ERROR, G_IO_ERROR_NO_SPACE,
_("Not enough space on volume"));
break;
case AFP_RESULT_FLAT_VOL:
- g_simple_async_result_set_error (simple, G_IO_ERROR, G_IO_ERROR_NOT_SUPPORTED,
+ g_task_return_new_error (task, G_IO_ERROR, G_IO_ERROR_NOT_SUPPORTED,
_("Volume is flat and doesn't support directories"));
break;
case AFP_RESULT_OBJECT_NOT_FOUND:
- g_simple_async_result_set_error (simple, G_IO_ERROR, G_IO_ERROR_NOT_FOUND,
+ g_task_return_new_error (task, G_IO_ERROR, G_IO_ERROR_NOT_FOUND,
_("Ancestor directory doesn't exist"));
break;
case AFP_RESULT_OBJECT_EXISTS:
- g_simple_async_result_set_error (simple, G_IO_ERROR, G_IO_ERROR_EXISTS,
+ g_task_return_new_error (task, G_IO_ERROR, G_IO_ERROR_EXISTS,
_("Target directory already exists"));
break;
case AFP_RESULT_VOL_LOCKED:
- g_simple_async_result_set_error (simple, G_IO_ERROR, G_IO_ERROR_PERMISSION_DENIED,
+ g_task_return_new_error (task, G_IO_ERROR, G_IO_ERROR_PERMISSION_DENIED,
_("Volume is read-only"));
break;
default:
- g_simple_async_result_take_error (simple, afp_result_code_to_gerror (res_code));
+ g_task_async_result_take_error (task, afp_result_code_to_gerror (res_code));
break;
}
goto done;
}
done:
- g_simple_async_result_complete (simple);
- g_object_unref (simple);
+ g_task_async_result_complete (task);
+ g_object_unref (task);
}
static void
create_directory_get_filedir_parms_cb (GObject *source_object, GAsyncResult *res, gpointer user_data)
{
GVfsAfpVolume *volume = G_VFS_AFP_VOLUME (source_object);
- GSimpleAsyncResult *simple = G_SIMPLE_ASYNC_RESULT (user_data);
- CreateDirData *cdd = g_simple_async_result_get_op_res_gpointer (simple);
+ GTask *task = G_TASK (user_data);
+ CreateDirData *cdd = g_task_propagate_pointer (task, error);
GFileInfo *info = NULL;
GError *err = NULL;
@@ -1077,15 +1077,15 @@ create_directory_get_filedir_parms_cb (GObject *source_object, GAsyncResult *res
g_vfs_afp_command_put_pathname (comm, cdd->basename);
g_vfs_afp_connection_send_command (volume->priv->server->conn, comm, NULL,
- make_directory_cb, cdd->cancellable, simple);
+ make_directory_cb, cdd->cancellable, task);
g_object_unref (comm);
return;
error:
g_clear_object (info);
- g_simple_async_result_take_error (simple, err);
- g_simple_async_result_complete (simple);
- g_object_unref (simple);
+ g_task_async_result_take_error (task, err);
+ g_task_async_result_complete (task);
+ g_object_unref (task);
}
/*
@@ -1108,20 +1108,20 @@ g_vfs_afp_volume_create_directory (GVfsAfpVolume *volume,
GAsyncReadyCallback callback,
gpointer user_data)
{
- GSimpleAsyncResult *simple;
+ GTask *task;
CreateDirData *cdd;
char *dirname;
g_return_if_fail (G_VFS_IS_AFP_VOLUME (volume));
- simple = g_simple_async_result_new (G_OBJECT (volume), callback, user_data,
+ task = g_task_new (volume, callback, user_data,
g_vfs_afp_volume_create_directory);
cdd = g_slice_new (CreateDirData);
cdd->basename = g_path_get_basename (directory);
cdd->cancellable = cancellable ? g_object_ref (cancellable) : NULL;
- g_simple_async_result_set_op_res_gpointer (simple, cdd,
+ g_task_return_pointer (task, cdd,
(GDestroyNotify)create_dir_data_free);
dirname = g_path_get_dirname (directory);
@@ -1129,7 +1129,7 @@ g_vfs_afp_volume_create_directory (GVfsAfpVolume *volume,
AFP_DIR_BITMAP_NODE_ID_BIT,
cancellable,
create_directory_get_filedir_parms_cb,
- simple);
+ task);
g_free (dirname);
}
@@ -1150,16 +1150,16 @@ g_vfs_afp_volume_create_directory_finish (GVfsAfpVolume *volume,
GAsyncResult *result,
GError **error)
{
- GSimpleAsyncResult *simple;
+ GTask *task;
- g_return_val_if_fail (g_simple_async_result_is_valid (result,
+ g_return_val_if_fail (g_task_async_result_is_valid (result,
G_OBJECT (volume),
g_vfs_afp_volume_create_directory),
FALSE);
- simple = (GSimpleAsyncResult *)result;
+ task = (GTask *)result;
- if (g_simple_async_result_propagate_error (simple, error))
+ if (g_task_async_result_propagate_error (task, error))
return FALSE;
return TRUE;
@@ -1186,7 +1186,7 @@ static void
rename_cb (GObject *source_object, GAsyncResult *res, gpointer user_data)
{
GVfsAfpConnection *conn = G_VFS_AFP_CONNECTION (source_object);
- GSimpleAsyncResult *simple = G_SIMPLE_ASYNC_RESULT (user_data);
+ GTask *task = G_TASK (user_data);
GVfsAfpReply *reply;
GError *err = NULL;
@@ -1195,7 +1195,7 @@ rename_cb (GObject *source_object, GAsyncResult *res, gpointer user_data)
reply = g_vfs_afp_connection_send_command_finish (conn, res, &err);
if (!reply)
{
- g_simple_async_result_take_error (simple, err);
+ g_task_async_result_take_error (task, err);
goto done;
}
@@ -1207,39 +1207,39 @@ rename_cb (GObject *source_object, GAsyncResult *res, gpointer user_data)
switch (res_code)
{
case AFP_RESULT_ACCESS_DENIED:
- g_simple_async_result_set_error (simple, G_IO_ERROR, G_IO_ERROR_PERMISSION_DENIED,
+ g_task_return_new_error (task, G_IO_ERROR, G_IO_ERROR_PERMISSION_DENIED,
_("Permission denied"));
break;
case AFP_RESULT_CANT_RENAME:
- g_simple_async_result_set_error (simple, G_IO_ERROR, G_IO_ERROR_INVALID_FILENAME,
+ g_task_return_new_error (task, G_IO_ERROR, G_IO_ERROR_INVALID_FILENAME,
_("Can't rename volume"));
break;
case AFP_RESULT_OBJECT_EXISTS:
- g_simple_async_result_set_error (simple, G_IO_ERROR, G_IO_ERROR_EXISTS,
+ g_task_return_new_error (task, G_IO_ERROR, G_IO_ERROR_EXISTS,
_("Object with that name already exists"));
break;
case AFP_RESULT_OBJECT_LOCKED:
- g_simple_async_result_set_error (simple, G_IO_ERROR, G_IO_ERROR_FAILED,
+ g_task_return_new_error (task, G_IO_ERROR, G_IO_ERROR_FAILED,
_("Target object is marked as not renameable (RenameInhibit)"));
break;
case AFP_RESULT_OBJECT_NOT_FOUND:
- g_simple_async_result_set_error (simple, G_IO_ERROR, G_IO_ERROR_NOT_FOUND,
+ g_task_return_new_error (task, G_IO_ERROR, G_IO_ERROR_NOT_FOUND,
_("Target object doesn't exist"));
break;
case AFP_RESULT_VOL_LOCKED:
- g_simple_async_result_set_error (simple, G_IO_ERROR, G_IO_ERROR_PERMISSION_DENIED,
+ g_task_return_new_error (task, G_IO_ERROR, G_IO_ERROR_PERMISSION_DENIED,
_("Volume is read-only"));
break;
default:
- g_simple_async_result_take_error (simple, afp_result_code_to_gerror (res_code));
+ g_task_async_result_take_error (task, afp_result_code_to_gerror (res_code));
break;
}
goto done;
}
done:
- g_simple_async_result_complete (simple);
- g_object_unref (simple);
+ g_task_async_result_complete (task);
+ g_object_unref (task);
}
static void
@@ -1248,8 +1248,8 @@ rename_get_filedir_parms_cb (GObject *source_object,
gpointer user_data)
{
GVfsAfpVolume *volume = G_VFS_AFP_VOLUME (source_object);
- GSimpleAsyncResult *simple = G_SIMPLE_ASYNC_RESULT (user_data);
- RenameData *rd = g_simple_async_result_get_op_res_gpointer (simple);
+ GTask *task = G_TASK (user_data);
+ RenameData *rd = g_task_propagate_pointer (task, error);
GFileInfo *info;
GError *err = NULL;
@@ -1261,9 +1261,9 @@ rename_get_filedir_parms_cb (GObject *source_object,
info = g_vfs_afp_volume_get_filedir_parms_finish (volume, res, &err);
if (!info)
{
- g_simple_async_result_take_error (simple, err);
- g_simple_async_result_complete (simple);
- g_object_unref (simple);
+ g_task_async_result_take_error (task, err);
+ g_task_async_result_complete (task);
+ g_object_unref (task);
return;
}
@@ -1287,7 +1287,7 @@ rename_get_filedir_parms_cb (GObject *source_object,
g_vfs_afp_command_put_pathname (comm, rd->new_name);
g_vfs_afp_connection_send_command (volume->priv->server->conn, comm, NULL,
- rename_cb, rd->cancellable, simple);
+ rename_cb, rd->cancellable, task);
g_object_unref (comm);
}
@@ -1311,26 +1311,26 @@ g_vfs_afp_volume_rename (GVfsAfpVolume *volume,
GAsyncReadyCallback callback,
gpointer user_data)
{
- GSimpleAsyncResult *simple;
+ GTask *task;
RenameData *rd;
g_return_if_fail (G_VFS_IS_AFP_VOLUME (volume));
- simple = g_simple_async_result_new (G_OBJECT (volume), callback, user_data,
+ task = g_task_new (volume, callback, user_data,
g_vfs_afp_volume_rename);
rd = g_slice_new (RenameData);
rd->filename = g_strdup (filename);
rd->new_name = g_strdup (new_name);
rd->cancellable = g_object_ref (cancellable);
- g_simple_async_result_set_op_res_gpointer (simple, rd,
+ g_task_return_pointer (task, rd,
(GDestroyNotify)rename_data_free);
g_vfs_afp_volume_get_filedir_parms (volume, filename,
AFP_FILEDIR_BITMAP_PARENT_DIR_ID_BIT,
AFP_FILEDIR_BITMAP_PARENT_DIR_ID_BIT,
cancellable, rename_get_filedir_parms_cb,
- simple);
+ task);
}
/*
@@ -1350,15 +1350,15 @@ g_vfs_afp_volume_rename_finish (GVfsAfpVolume *volume,
GAsyncResult *res,
GError **error)
{
- GSimpleAsyncResult *simple;
+ GTask *task;
- g_return_val_if_fail (g_simple_async_result_is_valid (res, G_OBJECT (volume),
+ g_return_val_if_fail (g_task_async_result_is_valid (res, G_OBJECT (volume),
g_vfs_afp_volume_rename),
FALSE);
- simple = (GSimpleAsyncResult *)res;
+ task = (GTask *)res;
- if (g_simple_async_result_propagate_error (simple, error))
+ if (g_task_async_result_propagate_error (task, error))
return FALSE;
return TRUE;
@@ -1368,7 +1368,7 @@ static void
move_and_rename_cb (GObject *source_object, GAsyncResult *res, gpointer user_data)
{
GVfsAfpConnection *conn = G_VFS_AFP_CONNECTION (source_object);
- GSimpleAsyncResult *simple = G_SIMPLE_ASYNC_RESULT (user_data);
+ GTask *task = G_TASK (user_data);
GVfsAfpReply *reply;
GError *err = NULL;
@@ -1378,7 +1378,7 @@ move_and_rename_cb (GObject *source_object, GAsyncResult *res, gpointer user_dat
reply = g_vfs_afp_connection_send_command_finish (conn, res, &err);
if (!reply)
{
- g_simple_async_result_take_error (simple, err);
+ g_task_async_result_take_error (task, err);
goto done;
}
@@ -1390,42 +1390,42 @@ move_and_rename_cb (GObject *source_object, GAsyncResult *res, gpointer user_dat
switch (res_code)
{
case AFP_RESULT_ACCESS_DENIED:
- g_simple_async_result_set_error (simple, G_IO_ERROR, G_IO_ERROR_PERMISSION_DENIED,
+ g_task_return_new_error (task, G_IO_ERROR, G_IO_ERROR_PERMISSION_DENIED,
_("Permission denied"));
break;
case AFP_RESULT_CANT_MOVE:
- g_simple_async_result_set_error (simple, G_IO_ERROR, G_IO_ERROR_WOULD_RECURSE,
+ g_task_return_new_error (task, G_IO_ERROR, G_IO_ERROR_WOULD_RECURSE,
_("Can't move directory into one of its descendants"));
break;
case AFP_RESULT_INSIDE_SHARE_ERR:
- g_simple_async_result_set_error (simple, G_IO_ERROR, G_IO_ERROR_FAILED,
+ g_task_return_new_error (task, G_IO_ERROR, G_IO_ERROR_FAILED,
_("Can't move sharepoint into a shared directory"));
break;
case AFP_RESULT_INSIDE_TRASH_ERR:
- g_simple_async_result_set_error (simple, G_IO_ERROR, G_IO_ERROR_FAILED,
+ g_task_return_new_error (task, G_IO_ERROR, G_IO_ERROR_FAILED,
_("Can't move a shared directory into the Trash"));
break;
case AFP_RESULT_OBJECT_EXISTS:
- g_simple_async_result_set_error (simple, G_IO_ERROR, G_IO_ERROR_EXISTS,
+ g_task_return_new_error (task, G_IO_ERROR, G_IO_ERROR_EXISTS,
_("Target file already exists"));
break;
case AFP_RESULT_OBJECT_LOCKED:
- g_simple_async_result_set_error (simple, G_IO_ERROR, G_IO_ERROR_NOT_FOUND,
+ g_task_return_new_error (task, G_IO_ERROR, G_IO_ERROR_NOT_FOUND,
_("Object being moved is marked as not renameable (RenameInhibit)"));
break;
case AFP_RESULT_OBJECT_NOT_FOUND:
- g_simple_async_result_set_error (simple, G_IO_ERROR, G_IO_ERROR_NOT_FOUND,
+ g_task_return_new_error (task, G_IO_ERROR, G_IO_ERROR_NOT_FOUND,
_("Object being moved doesn't exist"));
break;
default:
- g_simple_async_result_take_error (simple, afp_result_code_to_gerror (res_code));
+ g_task_async_result_take_error (task, afp_result_code_to_gerror (res_code));
break;
}
}
done:
- g_simple_async_result_complete (simple);
- g_object_unref (simple);
+ g_task_async_result_complete (task);
+ g_object_unref (task);
}
/*
@@ -1451,7 +1451,7 @@ g_vfs_afp_volume_move_and_rename (GVfsAfpVolume *volume,
GVfsAfpVolumePrivate *priv;
GVfsAfpCommand *comm;
char *dirname, *basename;
- GSimpleAsyncResult *simple;
+ GTask *task;
g_return_if_fail (G_VFS_IS_AFP_VOLUME (volume));
@@ -1482,11 +1482,11 @@ g_vfs_afp_volume_move_and_rename (GVfsAfpVolume *volume,
g_vfs_afp_command_put_pathname (comm, basename);
g_free (basename);
- simple = g_simple_async_result_new (G_OBJECT (volume), callback,
+ task = g_task_new (volume, callback,
user_data, g_vfs_afp_volume_move_and_rename);
g_vfs_afp_connection_send_command (priv->server->conn, comm, NULL,
- move_and_rename_cb, cancellable, simple);
+ move_and_rename_cb, cancellable, task);
g_object_unref (comm);
}
@@ -1507,15 +1507,15 @@ g_vfs_afp_volume_move_and_rename_finish (GVfsAfpVolume *volume,
GAsyncResult *res,
GError **error)
{
- GSimpleAsyncResult *simple;
+ GTask *task;
- g_return_val_if_fail (g_simple_async_result_is_valid (res, G_OBJECT (volume),
+ g_return_val_if_fail (g_task_async_result_is_valid (res, G_OBJECT (volume),
g_vfs_afp_volume_move_and_rename),
FALSE);
- simple = (GSimpleAsyncResult *)res;
+ task = (GTask *)res;
- if (g_simple_async_result_propagate_error (simple, error))
+ if (g_task_async_result_propagate_error (task, error))
return FALSE;
return TRUE;
@@ -1525,7 +1525,7 @@ static void
copy_file_cb (GObject *source_object, GAsyncResult *res, gpointer user_data)
{
GVfsAfpConnection *conn = G_VFS_AFP_CONNECTION (source_object);
- GSimpleAsyncResult *simple = G_SIMPLE_ASYNC_RESULT (user_data);
+ GTask *task = G_TASK (user_data);
GVfsAfpReply *reply;
GError *err = NULL;
@@ -1535,7 +1535,7 @@ copy_file_cb (GObject *source_object, GAsyncResult *res, gpointer user_data)
reply = g_vfs_afp_connection_send_command_finish (conn, res, &err);
if (!reply)
{
- g_simple_async_result_take_error (simple, err);
+ g_task_async_result_take_error (task, err);
goto done;
}
@@ -1547,42 +1547,42 @@ copy_file_cb (GObject *source_object, GAsyncResult *res, gpointer user_data)
switch (res_code)
{
case AFP_RESULT_ACCESS_DENIED:
- g_simple_async_result_set_error (simple, G_IO_ERROR, G_IO_ERROR_PERMISSION_DENIED,
+ g_task_return_new_error (task, G_IO_ERROR, G_IO_ERROR_PERMISSION_DENIED,
_("Permission denied"));
break;
case AFP_RESULT_CALL_NOT_SUPPORTED:
- g_simple_async_result_set_error (simple, G_IO_ERROR, G_IO_ERROR_NOT_SUPPORTED,
+ g_task_return_new_error (task, G_IO_ERROR, G_IO_ERROR_NOT_SUPPORTED,
_("Server doesn't support the FPCopyFile operation"));
break;
case AFP_RESULT_DENY_CONFLICT:
- g_simple_async_result_set_error (simple, G_IO_ERROR, G_IO_ERROR_FAILED,
+ g_task_return_new_error (task, G_IO_ERROR, G_IO_ERROR_FAILED,
_("Unable to open source file for reading"));
break;
case AFP_RESULT_DISK_FULL:
- g_simple_async_result_set_error (simple, G_IO_ERROR, G_IO_ERROR_NO_SPACE,
+ g_task_return_new_error (task, G_IO_ERROR, G_IO_ERROR_NO_SPACE,
_("Not enough space on volume"));
break;
case AFP_RESULT_OBJECT_EXISTS:
- g_simple_async_result_set_error (simple, G_IO_ERROR, G_IO_ERROR_EXISTS,
+ g_task_return_new_error (task, G_IO_ERROR, G_IO_ERROR_EXISTS,
_("Target file already exists"));
break;
case AFP_RESULT_OBJECT_NOT_FOUND:
- g_simple_async_result_set_error (simple, G_IO_ERROR, G_IO_ERROR_NOT_FOUND,
+ g_task_return_new_error (task, G_IO_ERROR, G_IO_ERROR_NOT_FOUND,
_("Source file and/or destination directory doesn't exist"));
break;
case AFP_RESULT_OBJECT_TYPE_ERR:
- g_simple_async_result_set_error (simple, G_IO_ERROR, G_IO_ERROR_IS_DIRECTORY,
+ g_task_return_new_error (task, G_IO_ERROR, G_IO_ERROR_IS_DIRECTORY,
_("Source file is a directory"));
break;
default:
- g_simple_async_result_take_error (simple, afp_result_code_to_gerror (res_code));
+ g_task_async_result_take_error (task, afp_result_code_to_gerror (res_code));
break;
}
}
done:
- g_simple_async_result_complete (simple);
- g_object_unref (simple);
+ g_task_async_result_complete (task);
+ g_object_unref (task);
}
/*
@@ -1609,7 +1609,7 @@ g_vfs_afp_volume_copy_file (GVfsAfpVolume *volume,
GVfsAfpCommand *comm;
char *dirname, *basename;
- GSimpleAsyncResult *simple;
+ GTask *task;
g_return_if_fail (G_VFS_IS_AFP_VOLUME (volume));
@@ -1642,11 +1642,11 @@ g_vfs_afp_volume_copy_file (GVfsAfpVolume *volume,
g_vfs_afp_command_put_pathname (comm, basename);
g_free (basename);
- simple = g_simple_async_result_new (G_OBJECT (volume), callback,
+ task = g_task_new (volume, callback,
user_data, g_vfs_afp_volume_copy_file);
g_vfs_afp_connection_send_command (priv->server->conn, comm, NULL,
- copy_file_cb, cancellable, simple);
+ copy_file_cb, cancellable, task);
g_object_unref (comm);
}
@@ -1667,15 +1667,15 @@ g_vfs_afp_volume_copy_file_finish (GVfsAfpVolume *volume,
GAsyncResult *res,
GError **error)
{
- GSimpleAsyncResult *simple;
+ GTask *task;
- g_return_val_if_fail (g_simple_async_result_is_valid (res, G_OBJECT (volume),
+ g_return_val_if_fail (g_task_async_result_is_valid (res, G_OBJECT (volume),
g_vfs_afp_volume_copy_file),
FALSE);
- simple = (GSimpleAsyncResult *)res;
+ task = (GTask *)res;
- if (g_simple_async_result_propagate_error (simple, error))
+ if (g_task_async_result_propagate_error (task, error))
return FALSE;
return TRUE;
@@ -1699,7 +1699,7 @@ static void
map_id_cb (GObject *source_object, GAsyncResult *res, gpointer user_data)
{
GVfsAfpConnection *conn = G_VFS_AFP_CONNECTION (source_object);
- GSimpleAsyncResult *simple = G_SIMPLE_ASYNC_RESULT (user_data);
+ GTask *task = G_TASK (user_data);
GVfsAfpReply *reply;
GError *err = NULL;
@@ -1710,8 +1710,8 @@ map_id_cb (GObject *source_object, GAsyncResult *res, gpointer user_data)
reply = g_vfs_afp_connection_send_command_finish (conn, res, &err);
if (!reply)
{
- g_simple_async_result_take_error (simple, err);
- g_simple_async_result_complete (simple);
+ g_task_async_result_take_error (task, err);
+ g_task_async_result_complete (task);
return;
}
@@ -1721,19 +1721,19 @@ map_id_cb (GObject *source_object, GAsyncResult *res, gpointer user_data)
switch (res_code)
{
case AFP_RESULT_ITEM_NOT_FOUND:
- g_simple_async_result_set_error (simple, G_IO_ERROR, G_IO_ERROR_FAILED,
+ g_task_return_new_error (task, G_IO_ERROR, G_IO_ERROR_FAILED,
_("ID not found"));
break;
default:
- g_simple_async_result_take_error (simple, afp_result_code_to_gerror (res_code));
+ g_task_async_result_take_error (task, afp_result_code_to_gerror (res_code));
break;
}
- g_simple_async_result_complete (simple);
+ g_task_async_result_complete (task);
return;
}
- map_data = g_simple_async_result_get_op_res_gpointer (simple);
+ map_data = g_task_propagate_pointer (task, error);
if (map_data->function == AFP_MAP_ID_FUNCTION_USER_UUID_TO_UTF8_NAME ||
map_data->function == AFP_MAP_ID_FUNCTION_GROUP_UUID_TO_UTF8_NAME)
@@ -1758,7 +1758,7 @@ map_id_cb (GObject *source_object, GAsyncResult *res, gpointer user_data)
g_vfs_afp_name_unref (afp_name);
}
- g_simple_async_result_complete (simple);
+ g_task_async_result_complete (task);
}
/*
@@ -1783,7 +1783,7 @@ g_vfs_afp_volume_map_id (GVfsAfpVolume *volume,
{
GVfsAfpVolumePrivate *priv;
GVfsAfpCommand *comm;
- GSimpleAsyncResult *simple;
+ GTask *task;
MapIDData *map_data;
g_return_if_fail (G_VFS_IS_AFP_VOLUME (volume));
@@ -1802,16 +1802,16 @@ g_vfs_afp_volume_map_id (GVfsAfpVolume *volume,
else
g_vfs_afp_command_put_int64 (comm, id);
- simple = g_simple_async_result_new (G_OBJECT (volume), callback,
+ task = g_task_new (volume, callback,
user_data, g_vfs_afp_volume_map_id);
map_data = g_slice_new0 (MapIDData);
map_data->function = map_function;
- g_simple_async_result_set_op_res_gpointer (simple, map_data,
+ g_task_return_pointer (task, map_data,
(GDestroyNotify)map_id_data_free);
g_vfs_afp_connection_send_command (priv->server->conn, comm, NULL,
- map_id_cb, cancellable, simple);
+ map_id_cb, cancellable, task);
g_object_unref (comm);
}
@@ -1836,19 +1836,19 @@ g_vfs_afp_volume_map_id_finish (GVfsAfpVolume *volume,
AfpMapIDFunction *map_function,
GError **error)
{
- GSimpleAsyncResult *simple;
+ GTask *task;
MapIDData *map_data;
- g_return_val_if_fail (g_simple_async_result_is_valid (res, G_OBJECT (volume),
+ g_return_val_if_fail (g_task_async_result_is_valid (res, G_OBJECT (volume),
g_vfs_afp_volume_map_id),
NULL);
- simple = (GSimpleAsyncResult *)res;
+ task = (GTask *)res;
- if (g_simple_async_result_propagate_error (simple, error))
+ if (g_task_async_result_propagate_error (task, error))
return NULL;
- map_data = g_simple_async_result_get_op_res_gpointer (simple);
+ map_data = g_task_propagate_pointer (task, error);
if (map_function)
*map_function = map_data->function;
@@ -1860,8 +1860,8 @@ static void
get_filedir_parms_cb (GObject *source_object, GAsyncResult *res, gpointer user_data)
{
GVfsAfpConnection *conn = G_VFS_AFP_CONNECTION (source_object);
- GSimpleAsyncResult *simple = G_SIMPLE_ASYNC_RESULT (user_data);
- GVfsAfpVolume *volume = G_VFS_AFP_VOLUME (g_async_result_get_source_object (G_ASYNC_RESULT (simple)));
+ GTask *task = G_TASK (user_data);
+ GVfsAfpVolume *volume = G_VFS_AFP_VOLUME (g_async_result_get_source_object (G_ASYNC_RESULT (task)));
GVfsAfpReply *reply;
GError *err = NULL;
@@ -1875,7 +1875,7 @@ get_filedir_parms_cb (GObject *source_object, GAsyncResult *res, gpointer user_d
reply = g_vfs_afp_connection_send_command_finish (conn, res, &err);
if (!reply)
{
- g_simple_async_result_take_error (simple, err);
+ g_task_async_result_take_error (task, err);
goto done;
}
@@ -1887,11 +1887,11 @@ get_filedir_parms_cb (GObject *source_object, GAsyncResult *res, gpointer user_d
switch (res_code)
{
case AFP_RESULT_OBJECT_NOT_FOUND:
- g_simple_async_result_set_error (simple, G_IO_ERROR, G_IO_ERROR_NOT_FOUND,
+ g_task_return_new_error (task, G_IO_ERROR, G_IO_ERROR_NOT_FOUND,
_("File doesn't exist"));
break;
default:
- g_simple_async_result_take_error (simple, afp_result_code_to_gerror (res_code));
+ g_task_async_result_take_error (task, afp_result_code_to_gerror (res_code));
break;
}
goto done;
@@ -1912,11 +1912,11 @@ get_filedir_parms_cb (GObject *source_object, GAsyncResult *res, gpointer user_d
g_object_unref (reply);
- g_simple_async_result_set_op_res_gpointer (simple, info, g_object_unref);
+ g_task_return_pointer (task, info, g_object_unref);
done:
- g_simple_async_result_complete (simple);
- g_object_unref (simple);
+ g_task_async_result_complete (task);
+ g_object_unref (task);
}
/*
@@ -1946,7 +1946,7 @@ g_vfs_afp_volume_get_filedir_parms (GVfsAfpVolume *volume,
{
GVfsAfpVolumePrivate *priv;
GVfsAfpCommand *comm;
- GSimpleAsyncResult *simple;
+ GTask *task;
g_return_if_fail (G_VFS_IS_AFP_VOLUME (volume));
@@ -1966,13 +1966,13 @@ g_vfs_afp_volume_get_filedir_parms (GVfsAfpVolume *volume,
/* PathName */
g_vfs_afp_command_put_pathname (comm, filename);
- simple = g_simple_async_result_new (G_OBJECT (volume), callback, user_data,
+ task = g_task_new (volume, callback, user_data,
g_vfs_afp_volume_get_filedir_parms);
g_vfs_afp_connection_send_command (priv->server->conn, comm, NULL,
get_filedir_parms_cb, cancellable,
- simple);
+ task);
g_object_unref (comm);
}
@@ -1994,27 +1994,27 @@ g_vfs_afp_volume_get_filedir_parms_finish (GVfsAfpVolume *volume,
GAsyncResult *result,
GError **error)
{
- GSimpleAsyncResult *simple;
+ GTask *task;
- g_return_val_if_fail (g_simple_async_result_is_valid (result,
+ g_return_val_if_fail (g_task_async_result_is_valid (result,
G_OBJECT (volume),
g_vfs_afp_volume_get_filedir_parms),
NULL);
- simple = (GSimpleAsyncResult *)result;
+ task = (GTask *)result;
- if (g_simple_async_result_propagate_error (simple, error))
+ if (g_task_async_result_propagate_error (task, error))
return NULL;
- return g_object_ref (g_simple_async_result_get_op_res_gpointer (simple));
+ return g_object_ref (g_task_propagate_pointer (task, error));
}
static void
get_fork_parms_cb (GObject *source_object, GAsyncResult *res, gpointer user_data)
{
GVfsAfpConnection *conn = G_VFS_AFP_CONNECTION (source_object);
- GSimpleAsyncResult *simple = G_SIMPLE_ASYNC_RESULT (user_data);
- GVfsAfpVolume *volume = G_VFS_AFP_VOLUME (g_async_result_get_source_object (G_ASYNC_RESULT (simple)));
+ GTask *task = G_TASK (user_data);
+ GVfsAfpVolume *volume = G_VFS_AFP_VOLUME (g_async_result_get_source_object (G_ASYNC_RESULT (task)));
GVfsAfpVolumePrivate *priv = volume->priv;
GVfsAfpReply *reply;
@@ -2027,7 +2027,7 @@ get_fork_parms_cb (GObject *source_object, GAsyncResult *res, gpointer user_data
reply = g_vfs_afp_connection_send_command_finish (conn, res, &err);
if (!reply)
{
- g_simple_async_result_take_error (simple, err);
+ g_task_async_result_take_error (task, err);
goto done;
}
@@ -2036,7 +2036,7 @@ get_fork_parms_cb (GObject *source_object, GAsyncResult *res, gpointer user_data
{
g_object_unref (reply);
- g_simple_async_result_take_error (simple, afp_result_code_to_gerror (res_code));
+ g_task_async_result_take_error (task, afp_result_code_to_gerror (res_code));
goto done;
}
@@ -2047,11 +2047,11 @@ get_fork_parms_cb (GObject *source_object, GAsyncResult *res, gpointer user_data
g_object_unref (reply);
- g_simple_async_result_set_op_res_gpointer (simple, info, g_object_unref);
+ g_task_return_pointer (task, info, g_object_unref);
done:
- g_simple_async_result_complete (simple);
- g_object_unref (simple);
+ g_task_async_result_complete (task);
+ g_object_unref (task);
}
/*
@@ -2077,7 +2077,7 @@ g_vfs_afp_volume_get_fork_parms (GVfsAfpVolume *volume,
{
GVfsAfpVolumePrivate *priv;
GVfsAfpCommand *comm;
- GSimpleAsyncResult *simple;
+ GTask *task;
g_return_if_fail (G_VFS_IS_AFP_VOLUME (volume));
@@ -2091,13 +2091,13 @@ g_vfs_afp_volume_get_fork_parms (GVfsAfpVolume *volume,
/* Bitmap */
g_vfs_afp_command_put_uint16 (comm, file_bitmap);
- simple = g_simple_async_result_new (G_OBJECT (volume), callback, user_data,
+ task = g_task_new (volume, callback, user_data,
g_vfs_afp_volume_get_fork_parms);
g_vfs_afp_connection_send_command (priv->server->conn, comm, NULL,
get_fork_parms_cb, cancellable,
- simple);
+ task);
g_object_unref (comm);
}
@@ -2119,26 +2119,26 @@ g_vfs_afp_volume_get_fork_parms_finish (GVfsAfpVolume *volume,
GAsyncResult *result,
GError **error)
{
- GSimpleAsyncResult *simple;
+ GTask *task;
- g_return_val_if_fail (g_simple_async_result_is_valid (result,
+ g_return_val_if_fail (g_task_async_result_is_valid (result,
G_OBJECT (volume),
g_vfs_afp_volume_get_fork_parms),
NULL);
- simple = (GSimpleAsyncResult *)result;
+ task = (GTask *)result;
- if (g_simple_async_result_propagate_error (simple, error))
+ if (g_task_async_result_propagate_error (task, error))
return NULL;
- return g_object_ref (g_simple_async_result_get_op_res_gpointer (simple));
+ return g_object_ref (g_task_propagate_pointer (task, error));
}
static void
set_fork_parms_cb (GObject *source_object, GAsyncResult *res, gpointer user_data)
{
GVfsAfpConnection *conn = G_VFS_AFP_CONNECTION (source_object);
- GSimpleAsyncResult *simple = G_SIMPLE_ASYNC_RESULT (user_data);
+ GTask *task = G_TASK (user_data);
GVfsAfpReply *reply;
GError *err = NULL;
@@ -2147,7 +2147,7 @@ set_fork_parms_cb (GObject *source_object, GAsyncResult *res, gpointer user_data
reply = g_vfs_afp_connection_send_command_finish (conn, res, &err);
if (!reply)
{
- g_simple_async_result_take_error (simple, err);
+ g_task_async_result_take_error (task, err);
goto done;
}
@@ -2158,27 +2158,27 @@ set_fork_parms_cb (GObject *source_object, GAsyncResult *res, gpointer user_data
switch (res_code)
{
case AFP_RESULT_ACCESS_DENIED:
- g_simple_async_result_set_error (simple, G_IO_ERROR, G_IO_ERROR_FAILED,
+ g_task_return_new_error (task, G_IO_ERROR, G_IO_ERROR_FAILED,
_("Permission denied"));
break;
case AFP_RESULT_DISK_FULL:
- g_simple_async_result_set_error (simple, G_IO_ERROR, G_IO_ERROR_NO_SPACE,
+ g_task_return_new_error (task, G_IO_ERROR, G_IO_ERROR_NO_SPACE,
_("Not enough space on volume"));
break;
case AFP_RESULT_LOCK_ERR:
- g_simple_async_result_set_error (simple, G_IO_ERROR, G_IO_ERROR_FAILED,
+ g_task_return_new_error (task, G_IO_ERROR, G_IO_ERROR_FAILED,
_("Range lock conflict exists"));
break;
default:
- g_simple_async_result_take_error (simple, afp_result_code_to_gerror (res_code));
+ g_task_async_result_take_error (task, afp_result_code_to_gerror (res_code));
break;
}
goto done;
}
done:
- g_simple_async_result_complete (simple);
- g_object_unref (simple);
+ g_task_async_result_complete (task);
+ g_object_unref (task);
}
/*
@@ -2203,7 +2203,7 @@ g_vfs_afp_volume_set_fork_size (GVfsAfpVolume *volume,
{
GVfsAfpVolumePrivate *priv;
GVfsAfpCommand *comm;
- GSimpleAsyncResult *simple;
+ GTask *task;
g_return_if_fail (G_VFS_IS_AFP_VOLUME (volume));
@@ -2220,11 +2220,11 @@ g_vfs_afp_volume_set_fork_size (GVfsAfpVolume *volume,
/* ForkLen */
g_vfs_afp_command_put_int64 (comm, size);
- simple = g_simple_async_result_new (G_OBJECT (volume), callback, user_data,
+ task = g_task_new (volume, callback, user_data,
g_vfs_afp_volume_set_fork_size);
g_vfs_afp_connection_send_command (priv->server->conn, comm, NULL,
- set_fork_parms_cb, cancellable, simple);
+ set_fork_parms_cb, cancellable, task);
g_object_unref (comm);
}
@@ -2245,16 +2245,16 @@ g_vfs_afp_volume_set_fork_size_finish (GVfsAfpVolume *volume,
GAsyncResult *result,
GError **error)
{
- GSimpleAsyncResult *simple;
+ GTask *task;
- g_return_val_if_fail (g_simple_async_result_is_valid (result,
+ g_return_val_if_fail (g_task_async_result_is_valid (result,
G_OBJECT (volume),
g_vfs_afp_volume_set_fork_size),
FALSE);
- simple = (GSimpleAsyncResult *)result;
+ task = (GTask *)result;
- if (g_simple_async_result_propagate_error (simple, error))
+ if (g_task_async_result_propagate_error (task, error))
return FALSE;
return TRUE;
@@ -2264,7 +2264,7 @@ static void
set_unix_privs_cb (GObject *source_object, GAsyncResult *res, gpointer user_data)
{
GVfsAfpConnection *conn = G_VFS_AFP_CONNECTION (source_object);
- GSimpleAsyncResult *simple = G_SIMPLE_ASYNC_RESULT (user_data);
+ GTask *task = G_TASK (user_data);
GVfsAfpReply *reply;
GError *err = NULL;
@@ -2273,7 +2273,7 @@ set_unix_privs_cb (GObject *source_object, GAsyncResult *res, gpointer user_data
reply = g_vfs_afp_connection_send_command_finish (conn, res, &err);
if (!reply)
{
- g_simple_async_result_take_error (simple, err);
+ g_task_async_result_take_error (task, err);
goto done;
}
@@ -2284,27 +2284,27 @@ set_unix_privs_cb (GObject *source_object, GAsyncResult *res, gpointer user_data
switch (res_code)
{
case AFP_RESULT_ACCESS_DENIED:
- g_simple_async_result_set_error (simple, G_IO_ERROR, G_IO_ERROR_PERMISSION_DENIED,
+ g_task_return_new_error (task, G_IO_ERROR, G_IO_ERROR_PERMISSION_DENIED,
_("Permission denied"));
break;
case AFP_RESULT_OBJECT_NOT_FOUND:
- g_simple_async_result_set_error (simple, G_IO_ERROR, G_IO_ERROR_NOT_FOUND,
+ g_task_return_new_error (task, G_IO_ERROR, G_IO_ERROR_NOT_FOUND,
_("Target object doesn't exist"));
break;
case AFP_RESULT_VOL_LOCKED:
- g_simple_async_result_set_error (simple, G_IO_ERROR, G_IO_ERROR_PERMISSION_DENIED,
+ g_task_return_new_error (task, G_IO_ERROR, G_IO_ERROR_PERMISSION_DENIED,
_("Volume is read-only"));
break;
default:
- g_simple_async_result_take_error (simple, afp_result_code_to_gerror (res_code));
+ g_task_async_result_take_error (task, afp_result_code_to_gerror (res_code));
break;
}
goto done;
}
done:
- g_simple_async_result_complete (simple);
- g_object_unref (simple);
+ g_task_async_result_complete (task);
+ g_object_unref (task);
}
/*
@@ -2336,7 +2336,7 @@ g_vfs_afp_volume_set_unix_privs (GVfsAfpVolume *volume,
{
GVfsAfpVolumePrivate *priv;
GVfsAfpCommand *comm;
- GSimpleAsyncResult *simple;
+ GTask *task;
g_return_if_fail (G_VFS_IS_AFP_VOLUME (volume));
@@ -2366,11 +2366,11 @@ g_vfs_afp_volume_set_unix_privs (GVfsAfpVolume *volume,
/* UAPermissions */
g_vfs_afp_command_put_uint32 (comm, ua_permissions);
- simple = g_simple_async_result_new (G_OBJECT (volume), callback,
+ task = g_task_new (volume, callback,
user_data, g_vfs_afp_volume_set_unix_privs);
g_vfs_afp_connection_send_command (priv->server->conn, comm, NULL,
- set_unix_privs_cb, cancellable, simple);
+ set_unix_privs_cb, cancellable, task);
g_object_unref (comm);
}
@@ -2391,15 +2391,15 @@ g_vfs_afp_volume_set_unix_privs_finish (GVfsAfpVolume *volume,
GAsyncResult *res,
GError **error)
{
- GSimpleAsyncResult *simple;
+ GTask *task;
- g_return_val_if_fail (g_simple_async_result_is_valid (res, G_OBJECT (volume),
+ g_return_val_if_fail (g_task_async_result_is_valid (res, G_OBJECT (volume),
g_vfs_afp_volume_set_unix_privs),
FALSE);
- simple = (GSimpleAsyncResult *)res;
+ task = (GTask *)res;
- if (g_simple_async_result_propagate_error (simple, error))
+ if (g_task_async_result_propagate_error (task, error))
return FALSE;
return TRUE;
@@ -2413,9 +2413,9 @@ static void
enumerate_cb (GObject *source_object, GAsyncResult *res, gpointer user_data)
{
GVfsAfpConnection *conn = G_VFS_AFP_CONNECTION (source_object);
- GSimpleAsyncResult *simple = G_SIMPLE_ASYNC_RESULT (user_data);
+ GTask *task = G_TASK (user_data);
- GVfsAfpVolume *volume = G_VFS_AFP_VOLUME (g_async_result_get_source_object (G_ASYNC_RESULT (simple)));
+ GVfsAfpVolume *volume = G_VFS_AFP_VOLUME (g_async_result_get_source_object (G_ASYNC_RESULT (task)));
GVfsAfpVolumePrivate *priv = volume->priv;
GVfsAfpReply *reply;
@@ -2430,7 +2430,7 @@ enumerate_cb (GObject *source_object, GAsyncResult *res, gpointer user_data)
reply = g_vfs_afp_connection_send_command_finish (conn, res, &err);
if (!reply)
{
- g_simple_async_result_take_error (simple, err);
+ g_task_async_result_take_error (task, err);
goto done;
}
@@ -2442,23 +2442,23 @@ enumerate_cb (GObject *source_object, GAsyncResult *res, gpointer user_data)
switch (res_code)
{
case AFP_RESULT_OBJECT_NOT_FOUND:
- g_simple_async_result_set_op_res_gpointer (simple, NULL, NULL);
+ g_task_return_pointer (task, NULL, NULL);
break;
case AFP_RESULT_ACCESS_DENIED:
- g_simple_async_result_set_error (simple, G_IO_ERROR, G_IO_ERROR_PERMISSION_DENIED,
+ g_task_return_new_error (task, G_IO_ERROR, G_IO_ERROR_PERMISSION_DENIED,
_("Permission denied"));
break;
case AFP_RESULT_DIR_NOT_FOUND:
- g_simple_async_result_set_error (simple, G_IO_ERROR, G_IO_ERROR_NOT_FOUND,
+ g_task_return_new_error (task, G_IO_ERROR, G_IO_ERROR_NOT_FOUND,
_("Directory doesn't exist"));
break;
case AFP_RESULT_OBJECT_TYPE_ERR:
- g_simple_async_result_set_error (simple, G_IO_ERROR, G_IO_ERROR_NOT_DIRECTORY,
+ g_task_return_new_error (task, G_IO_ERROR, G_IO_ERROR_NOT_DIRECTORY,
_("Target object is not a directory"));
break;
default:
- g_simple_async_result_take_error (simple, afp_result_code_to_gerror (res_code));
+ g_task_async_result_take_error (task, afp_result_code_to_gerror (res_code));
break;
}
goto done;
@@ -2498,12 +2498,12 @@ enumerate_cb (GObject *source_object, GAsyncResult *res, gpointer user_data)
}
g_object_unref (reply);
- g_simple_async_result_set_op_res_gpointer (simple, infos,
+ g_task_return_pointer (task, infos,
(GDestroyNotify)g_ptr_array_unref);
done:
- g_simple_async_result_complete (simple);
- g_object_unref (simple);
+ g_task_async_result_complete (task);
+ g_object_unref (task);
}
/*
@@ -2531,21 +2531,21 @@ g_vfs_afp_volume_enumerate (GVfsAfpVolume *volume,
gint32 max;
GVfsAfpCommand *comm;
- GSimpleAsyncResult *simple;
+ GTask *task;
g_return_if_fail (G_VFS_IS_AFP_VOLUME (volume));
priv = volume->priv;
- simple = g_simple_async_result_new (G_OBJECT (volume), callback,
+ task = g_task_new (volume, callback,
user_data, g_vfs_afp_volume_enumerate);
max = (priv->server->version >= AFP_VERSION_3_1) ? G_MAXINT32 : G_MAXINT16;
/* Can't enumerate any more files */
if (start_index > max)
{
- g_simple_async_result_set_op_res_gpointer (simple, NULL, NULL);
- g_simple_async_result_complete_in_idle (simple);
+ g_task_return_pointer (task, NULL, NULL);
+ g_task_async_result_complete_in_idle (task);
return;
}
@@ -2588,7 +2588,7 @@ g_vfs_afp_volume_enumerate (GVfsAfpVolume *volume,
g_vfs_afp_command_put_pathname (comm, directory);
g_vfs_afp_connection_send_command (priv->server->conn, comm, NULL,
- enumerate_cb, cancellable, simple);
+ enumerate_cb, cancellable, task);
g_object_unref (comm);
}
@@ -2612,19 +2612,19 @@ g_vfs_afp_volume_enumerate_finish (GVfsAfpVolume *volume,
GPtrArray **infos,
GError **error)
{
- GSimpleAsyncResult *simple;
+ GTask *task;
- g_return_val_if_fail (g_simple_async_result_is_valid (res, G_OBJECT (volume),
+ g_return_val_if_fail (g_task_async_result_is_valid (res, G_OBJECT (volume),
g_vfs_afp_volume_enumerate),
FALSE);
g_return_val_if_fail (infos != NULL, FALSE);
- simple = (GSimpleAsyncResult *)res;
+ task = (GTask *)res;
- if (g_simple_async_result_propagate_error (simple, error))
+ if (g_task_async_result_propagate_error (task, error))
return FALSE;
- *infos = g_simple_async_result_get_op_res_gpointer (simple);
+ *infos = g_task_propagate_pointer (task, error);
if (*infos)
g_ptr_array_ref (*infos);
@@ -2635,7 +2635,7 @@ static void
close_replace_exchange_files_cb (GObject *source_object, GAsyncResult *res, gpointer user_data)
{
GVfsAfpConnection *conn = G_VFS_AFP_CONNECTION (source_object);
- GSimpleAsyncResult *simple = G_SIMPLE_ASYNC_RESULT (user_data);
+ GTask *task = G_TASK (user_data);
GVfsAfpReply *reply;
GError *err = NULL;
@@ -2644,7 +2644,7 @@ close_replace_exchange_files_cb (GObject *source_object, GAsyncResult *res, gpoi
reply = g_vfs_afp_connection_send_command_finish (conn, res, &err);
if (!reply)
{
- g_simple_async_result_take_error (simple, err);
+ g_task_async_result_take_error (task, err);
goto done;
}
@@ -2656,27 +2656,27 @@ close_replace_exchange_files_cb (GObject *source_object, GAsyncResult *res, gpoi
switch (res_code)
{
case AFP_RESULT_ACCESS_DENIED:
- g_simple_async_result_set_error (simple, G_IO_ERROR, G_IO_ERROR_FAILED,
+ g_task_return_new_error (task, G_IO_ERROR, G_IO_ERROR_FAILED,
_("Permission denied"));
break;
case AFP_RESULT_ID_NOT_FOUND:
- g_simple_async_result_set_error (simple, G_IO_ERROR, G_IO_ERROR_NOT_FOUND,
+ g_task_return_new_error (task, G_IO_ERROR, G_IO_ERROR_NOT_FOUND,
_("File doesn't exist"));
break;
case AFP_RESULT_OBJECT_TYPE_ERR:
- g_simple_async_result_set_error (simple, G_IO_ERROR, G_IO_ERROR_IS_DIRECTORY,
+ g_task_return_new_error (task, G_IO_ERROR, G_IO_ERROR_IS_DIRECTORY,
_("File is directory"));
break;
default:
- g_simple_async_result_take_error (simple, afp_result_code_to_gerror (res_code));
+ g_task_async_result_take_error (task, afp_result_code_to_gerror (res_code));
break;
}
goto done;
}
done:
- g_simple_async_result_complete (simple);
- g_object_unref (simple);
+ g_task_async_result_complete (task);
+ g_object_unref (task);
}
/*
@@ -2702,7 +2702,7 @@ g_vfs_afp_volume_exchange_files (GVfsAfpVolume *volume,
{
GVfsAfpVolumePrivate *priv;
GVfsAfpCommand *comm;
- GSimpleAsyncResult *simple;
+ GTask *task;
g_return_if_fail (G_VFS_IS_AFP_VOLUME (volume));
@@ -2724,12 +2724,12 @@ g_vfs_afp_volume_exchange_files (GVfsAfpVolume *volume,
/* DestPath */
g_vfs_afp_command_put_pathname (comm, destination);
- simple = g_simple_async_result_new (G_OBJECT (volume), callback, user_data,
+ task = g_task_new (volume, callback, user_data,
g_vfs_afp_volume_exchange_files);
g_vfs_afp_connection_send_command (priv->server->conn, comm, NULL,
close_replace_exchange_files_cb,
- cancellable, simple);
+ cancellable, task);
g_object_unref (comm);
}
@@ -2750,15 +2750,15 @@ g_vfs_afp_volume_exchange_files_finish (GVfsAfpVolume *volume,
GAsyncResult *res,
GError **error)
{
- GSimpleAsyncResult *simple;
+ GTask *task;
- g_return_val_if_fail (g_simple_async_result_is_valid (res, G_OBJECT (volume),
+ g_return_val_if_fail (g_task_async_result_is_valid (res, G_OBJECT (volume),
g_vfs_afp_volume_exchange_files),
FALSE);
- simple = (GSimpleAsyncResult *)res;
+ task = (GTask *)res;
- if (g_simple_async_result_propagate_error (simple, error))
+ if (g_task_async_result_propagate_error (task, error))
return FALSE;
return TRUE;
@@ -2768,7 +2768,7 @@ static void
write_ext_cb (GObject *source_object, GAsyncResult *res, gpointer user_data)
{
GVfsAfpConnection *conn = G_VFS_AFP_CONNECTION (source_object);
- GSimpleAsyncResult *simple = G_SIMPLE_ASYNC_RESULT (user_data);
+ GTask *task = G_TASK (user_data);
GVfsAfpReply *reply;
GError *err = NULL;
@@ -2778,7 +2778,7 @@ write_ext_cb (GObject *source_object, GAsyncResult *res, gpointer user_data)
reply = g_vfs_afp_connection_send_command_finish (conn, res, &err);
if (!reply)
{
- g_simple_async_result_take_error (simple, err);
+ g_task_async_result_take_error (task, err);
goto done;
}
@@ -2790,15 +2790,15 @@ write_ext_cb (GObject *source_object, GAsyncResult *res, gpointer user_data)
switch (res_code)
{
case AFP_RESULT_ACCESS_DENIED:
- g_simple_async_result_set_error (simple, G_IO_ERROR, G_IO_ERROR_FAILED,
+ g_task_return_new_error (task, G_IO_ERROR, G_IO_ERROR_FAILED,
_("File is not open for write access"));
break;
case AFP_RESULT_DISK_FULL:
- g_simple_async_result_set_error (simple, G_IO_ERROR, G_IO_ERROR_NO_SPACE,
+ g_task_return_new_error (task, G_IO_ERROR, G_IO_ERROR_NO_SPACE,
_("Not enough space on volume"));
break;
default:
- g_simple_async_result_take_error (simple, afp_result_code_to_gerror (res_code));
+ g_task_async_result_take_error (task, afp_result_code_to_gerror (res_code));
break;
}
goto done;
@@ -2808,11 +2808,11 @@ write_ext_cb (GObject *source_object, GAsyncResult *res, gpointer user_data)
g_vfs_afp_reply_read_int64 (reply, last_written);
g_object_unref (reply);
- g_simple_async_result_set_op_res_gpointer (simple, last_written, g_free);
+ g_task_return_pointer (task, last_written, g_free);
done:
- g_simple_async_result_complete (simple);
- g_object_unref (simple);
+ g_task_async_result_complete (task);
+ g_object_unref (task);
}
/*
@@ -2843,7 +2843,7 @@ g_vfs_afp_volume_write_to_fork (GVfsAfpVolume *volume,
{
GVfsAfpCommand *comm;
guint32 req_count;
- GSimpleAsyncResult *simple;
+ GTask *task;
g_return_if_fail (G_VFS_IS_AFP_VOLUME (volume));
@@ -2861,11 +2861,11 @@ g_vfs_afp_volume_write_to_fork (GVfsAfpVolume *volume,
g_vfs_afp_command_set_buffer (comm, buffer, buffer_size);
- simple = g_simple_async_result_new (G_OBJECT (volume), callback, user_data,
+ task = g_task_new (volume, callback, user_data,
g_vfs_afp_volume_write_to_fork);
g_vfs_afp_connection_send_command (volume->priv->server->conn, comm, NULL,
- write_ext_cb, cancellable, simple);
+ write_ext_cb, cancellable, task);
g_object_unref (comm);
}
@@ -2888,19 +2888,19 @@ g_vfs_afp_volume_write_to_fork_finish (GVfsAfpVolume *volume,
gint64 *last_written,
GError **error)
{
- GSimpleAsyncResult *simple;
+ GTask *task;
- g_return_val_if_fail (g_simple_async_result_is_valid (res, G_OBJECT (volume),
+ g_return_val_if_fail (g_task_async_result_is_valid (res, G_OBJECT (volume),
g_vfs_afp_volume_write_to_fork),
FALSE);
- simple = (GSimpleAsyncResult *)res;
+ task = (GTask *)res;
- if (g_simple_async_result_propagate_error (simple, error))
+ if (g_task_async_result_propagate_error (task, error))
return FALSE;
if (last_written)
- *last_written = *((gint64 *)g_simple_async_result_get_op_res_gpointer (simple));
+ *last_written = *((gint64 *)g_task_propagate_pointer (task, error));
return TRUE;
}
@@ -2909,7 +2909,7 @@ static void
read_ext_cb (GObject *source_object, GAsyncResult *res, gpointer user_data)
{
GVfsAfpConnection *conn = G_VFS_AFP_CONNECTION (source_object);
- GSimpleAsyncResult *simple = G_SIMPLE_ASYNC_RESULT (user_data);
+ GTask *task = G_TASK (user_data);
GVfsAfpReply *reply;
GError *err = NULL;
@@ -2918,7 +2918,7 @@ read_ext_cb (GObject *source_object, GAsyncResult *res, gpointer user_data)
reply = g_vfs_afp_connection_send_command_finish (conn, res, &err);
if (!reply)
{
- g_simple_async_result_take_error (simple, err);
+ g_task_async_result_take_error (task, err);
goto done;
}
@@ -2931,22 +2931,22 @@ read_ext_cb (GObject *source_object, GAsyncResult *res, gpointer user_data)
switch (res_code)
{
case AFP_RESULT_ACCESS_DENIED:
- g_simple_async_result_set_error (simple, G_IO_ERROR, G_IO_ERROR_FAILED,
+ g_task_return_new_error (task, G_IO_ERROR, G_IO_ERROR_FAILED,
_("File is not open for read access"));
break;
default:
- g_simple_async_result_take_error (simple, afp_result_code_to_gerror (res_code));
+ g_task_async_result_take_error (task, afp_result_code_to_gerror (res_code));
break;
}
goto done;
}
- g_simple_async_result_set_op_res_gssize (simple, g_vfs_afp_reply_get_size (reply));
+ g_task_return_int (task, g_vfs_afp_reply_get_size (reply));
g_object_unref (reply);
done:
- g_simple_async_result_complete (simple);
- g_object_unref (simple);
+ g_task_async_result_complete (task);
+ g_object_unref (task);
}
/*
@@ -2975,7 +2975,7 @@ g_vfs_afp_volume_read_from_fork (GVfsAfpVolume *volume,
{
GVfsAfpCommand *comm;
guint32 req_count;
- GSimpleAsyncResult *simple;
+ GTask *task;
g_return_if_fail (G_VFS_IS_AFP_VOLUME (volume));
@@ -2991,11 +2991,11 @@ g_vfs_afp_volume_read_from_fork (GVfsAfpVolume *volume,
req_count = MIN (bytes_requested, G_MAXUINT32);
g_vfs_afp_command_put_int64 (comm, req_count);
- simple = g_simple_async_result_new (G_OBJECT (volume), callback, user_data,
+ task = g_task_new (volume, callback, user_data,
g_vfs_afp_volume_read_from_fork);
g_vfs_afp_connection_send_command (volume->priv->server->conn, comm, buffer,
- read_ext_cb, cancellable, simple);
+ read_ext_cb, cancellable, task);
g_object_unref (comm);
}
@@ -3018,19 +3018,19 @@ g_vfs_afp_volume_read_from_fork_finish (GVfsAfpVolume *volume,
gsize *bytes_read,
GError **error)
{
- GSimpleAsyncResult *simple;
+ GTask *task;
- g_return_val_if_fail (g_simple_async_result_is_valid (res, G_OBJECT (volume),
+ g_return_val_if_fail (g_task_async_result_is_valid (res, G_OBJECT (volume),
g_vfs_afp_volume_read_from_fork),
FALSE);
- simple = (GSimpleAsyncResult *)res;
+ task = (GTask *)res;
- if (g_simple_async_result_propagate_error (simple, error))
+ if (g_task_async_result_propagate_error (task, error))
return FALSE;
if (bytes_read)
- *bytes_read = g_simple_async_result_get_op_res_gssize (simple);
+ *bytes_read = g_task_propagate_ssize (task, error);
return TRUE;
} \ No newline at end of file
diff --git a/daemon/gvfsbackend.c b/daemon/gvfsbackend.c
index ced4fd9b..f12eacb9 100644
--- a/daemon/gvfsbackend.c
+++ b/daemon/gvfsbackend.c
@@ -788,7 +788,7 @@ static void
complete_unmount_with_op (UnmountWithOpData *data)
{
gboolean ret;
- GSimpleAsyncResult *simple;
+ GTask *task;
g_source_remove (data->timeout_id);
@@ -806,13 +806,13 @@ complete_unmount_with_op (UnmountWithOpData *data)
}
}
- simple = g_simple_async_result_new (G_OBJECT (data->backend),
+ task = g_task_new (data->backend,
data->callback,
data->user_data,
NULL);
- g_simple_async_result_set_op_res_gboolean (simple, ret);
- g_simple_async_result_complete (simple);
- g_object_unref (simple);
+ g_task_return_boolean (task, ret);
+ g_task_async_result_complete (task);
+ g_object_unref (task);
}
static void
@@ -891,15 +891,15 @@ g_vfs_backend_unmount_with_operation_finish (GVfsBackend *backend,
GAsyncResult *res)
{
gboolean ret;
- GSimpleAsyncResult *simple = G_SIMPLE_ASYNC_RESULT (res);
+ GTask *task = G_TASK (res);
- if (g_simple_async_result_propagate_error (simple, NULL))
+ if (g_task_async_result_propagate_error (task, NULL))
{
ret = FALSE;
}
else
{
- ret = g_simple_async_result_get_op_res_gboolean (simple);
+ ret = g_task_propagate_boolean (task, error);
}
return ret;
@@ -942,14 +942,14 @@ g_vfs_backend_unmount_with_operation (GVfsBackend *backend,
/* if no processes are blocking, complete immediately */
if (processes->len == 0)
{
- GSimpleAsyncResult *simple;
- simple = g_simple_async_result_new (G_OBJECT (backend),
+ GTask *task;
+ task = g_task_new (backend,
callback,
user_data,
NULL);
- g_simple_async_result_set_op_res_gboolean (simple, TRUE);
- g_simple_async_result_complete (simple);
- g_object_unref (simple);
+ g_task_return_boolean (task, TRUE);
+ g_task_async_result_complete (task);
+ g_object_unref (task);
goto out;
}
diff --git a/daemon/gvfsbackendafpbrowse.c b/daemon/gvfsbackendafpbrowse.c
index d3de8961..952e9be3 100644
--- a/daemon/gvfsbackendafpbrowse.c
+++ b/daemon/gvfsbackendafpbrowse.c
@@ -69,18 +69,18 @@ static void
get_volumes_cb (GObject *source_object, GAsyncResult *res, gpointer user_data)
{
GVfsAfpServer *server = G_VFS_AFP_SERVER (source_object);
- GSimpleAsyncResult *simple = user_data;
+ GTask *task = user_data;
GVfsBackendAfpBrowse *afp_backend;
GPtrArray *volumes;
GError *err = NULL;
- afp_backend = G_VFS_BACKEND_AFP_BROWSE (g_async_result_get_source_object (G_ASYNC_RESULT (simple)));
+ afp_backend = G_VFS_BACKEND_AFP_BROWSE (g_async_result_get_source_object (G_ASYNC_RESULT (task)));
volumes = g_vfs_afp_server_get_volumes_finish (server, res, &err);
if (!volumes)
{
- g_simple_async_result_take_error (simple, err);
+ g_task_async_result_take_error (task, err);
goto done;
}
@@ -89,8 +89,8 @@ get_volumes_cb (GObject *source_object, GAsyncResult *res, gpointer user_data)
afp_backend->volumes = volumes;
done:
- g_simple_async_result_complete (simple);
- g_object_unref (simple);
+ g_task_async_result_complete (task);
+ g_object_unref (task);
}
static void
@@ -99,13 +99,13 @@ update_cache (GVfsBackendAfpBrowse *afp_backend,
GAsyncReadyCallback callback,
gpointer user_data)
{
- GSimpleAsyncResult *simple;
+ GTask *task;
- simple = g_simple_async_result_new (G_OBJECT (afp_backend), callback,
+ task = g_task_new (afp_backend, callback,
user_data, update_cache);
g_vfs_afp_server_get_volumes (afp_backend->server, cancellable, get_volumes_cb,
- simple);
+ task);
}
static gboolean
@@ -113,15 +113,15 @@ update_cache_finish (GVfsBackendAfpBrowse *afp_backend,
GAsyncResult *res,
GError **error)
{
- GSimpleAsyncResult *simple;
+ GTask *task;
- g_return_val_if_fail (g_simple_async_result_is_valid (res, G_OBJECT (afp_backend),
+ g_return_val_if_fail (g_task_async_result_is_valid (res, G_OBJECT (afp_backend),
update_cache),
FALSE);
- simple = (GSimpleAsyncResult *)res;
+ task = (GTask *)res;
- if (g_simple_async_result_propagate_error (simple, error))
+ if (g_task_async_result_propagate_error (task, error))
return FALSE;
return TRUE;
diff --git a/daemon/soup-input-stream.c b/daemon/soup-input-stream.c
index cb730a30..e787284f 100644
--- a/daemon/soup-input-stream.c
+++ b/daemon/soup-input-stream.c
@@ -57,7 +57,7 @@ typedef struct {
guchar *caller_buffer;
gsize caller_bufsize, caller_nread;
GAsyncReadyCallback outstanding_callback;
- GSimpleAsyncResult *result;
+ GTask *result;
} SoupInputStreamPrivate;
#define SOUP_INPUT_STREAM_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), SOUP_TYPE_INPUT_STREAM, SoupInputStreamPrivate))
@@ -532,7 +532,7 @@ wrapper_callback (GObject *source_object, GAsyncResult *res,
}
static void
-send_async_thread (GSimpleAsyncResult *res,
+send_async_thread (GTask *res,
GObject *object,
GCancellable *cancellable)
{
@@ -541,10 +541,10 @@ send_async_thread (GSimpleAsyncResult *res,
success = soup_input_stream_send_internal (G_INPUT_STREAM (object),
cancellable, &error);
- g_simple_async_result_set_op_res_gboolean (res, success);
+ g_task_return_boolean (res, success);
if (error)
{
- g_simple_async_result_set_from_error (res, error);
+ g_task_return_error (res, error);
g_error_free (error);
}
}
@@ -556,11 +556,11 @@ soup_input_stream_send_async_in_thread (GInputStream *stream,
GAsyncReadyCallback callback,
gpointer user_data)
{
- GSimpleAsyncResult *res;
+ GTask *res;
- res = g_simple_async_result_new (G_OBJECT (stream), callback, user_data,
+ res = g_task_new (stream, callback, user_data,
soup_input_stream_send_async_in_thread);
- g_simple_async_result_run_in_thread (res, send_async_thread,
+ g_task_run_in_thread (res, send_async_thread,
io_priority, cancellable);
g_object_unref (res);
}
@@ -569,7 +569,7 @@ static void
send_async_finished (GInputStream *stream)
{
SoupInputStreamPrivate *priv = SOUP_INPUT_STREAM_GET_PRIVATE (stream);
- GSimpleAsyncResult *result;
+ GTask *result;
GError *error = NULL;
if (!g_cancellable_set_error_if_cancelled (priv->cancellable, &error))
@@ -582,13 +582,13 @@ send_async_finished (GInputStream *stream)
result = priv->result;
priv->result = NULL;
- g_simple_async_result_set_op_res_gboolean (result, error == NULL);
+ g_task_return_boolean (result, error == NULL);
if (error)
{
- g_simple_async_result_set_from_error (result, error);
+ g_task_return_error (result, error);
g_error_free (error);
}
- g_simple_async_result_complete (result);
+ g_task_async_result_complete (result);
g_object_unref (result);
}
@@ -619,7 +619,7 @@ soup_input_stream_send_async_internal (GInputStream *stream,
priv->finished_cb = send_async_finished;
soup_input_stream_prepare_for_io (stream, cancellable, NULL, 0);
- priv->result = g_simple_async_result_new (G_OBJECT (stream),
+ priv->result = g_task_new (stream,
wrapper_callback, user_data,
soup_input_stream_send_async);
}
@@ -650,7 +650,7 @@ soup_input_stream_send_async (GInputStream *stream,
if (!g_input_stream_set_pending (stream, &error))
{
- g_simple_async_report_gerror_in_idle (G_OBJECT (stream),
+ g_task_async_report_gerror_in_idle (G_OBJECT (stream),
callback,
user_data,
error);
@@ -678,24 +678,24 @@ soup_input_stream_send_finish (GInputStream *stream,
GAsyncResult *result,
GError **error)
{
- GSimpleAsyncResult *simple;
+ GTask *task;
g_return_val_if_fail (G_IS_SIMPLE_ASYNC_RESULT (result), FALSE);
- simple = G_SIMPLE_ASYNC_RESULT (result);
+ task = G_TASK (result);
- g_return_val_if_fail (g_simple_async_result_get_source_tag (simple) == soup_input_stream_send_async, FALSE);
+ g_return_val_if_fail (g_task_async_result_get_source_tag (task) == soup_input_stream_send_async, FALSE);
- if (g_simple_async_result_propagate_error (simple, error))
+ if (g_task_async_result_propagate_error (task, error))
return FALSE;
- return g_simple_async_result_get_op_res_gboolean (simple);
+ return g_task_propagate_boolean (task, error);
}
static void
read_async_done (GInputStream *stream)
{
SoupInputStreamPrivate *priv = SOUP_INPUT_STREAM_GET_PRIVATE (stream);
- GSimpleAsyncResult *result;
+ GTask *result;
GError *error = NULL;
result = priv->result;
@@ -704,18 +704,18 @@ read_async_done (GInputStream *stream)
if (g_cancellable_set_error_if_cancelled (priv->cancellable, &error) ||
set_error_if_http_failed (priv->msg, &error))
{
- g_simple_async_result_set_from_error (result, error);
+ g_task_return_error (result, error);
g_error_free (error);
}
else
- g_simple_async_result_set_op_res_gssize (result, priv->caller_nread);
+ g_task_return_int (result, priv->caller_nread);
priv->got_chunk_cb = NULL;
priv->finished_cb = NULL;
priv->cancelled_cb = NULL;
soup_input_stream_done_io (stream);
- g_simple_async_result_complete (result);
+ g_task_async_result_complete (result);
g_object_unref (result);
}
@@ -729,7 +729,7 @@ soup_input_stream_read_async (GInputStream *stream,
gpointer user_data)
{
SoupInputStreamPrivate *priv = SOUP_INPUT_STREAM_GET_PRIVATE (stream);
- GSimpleAsyncResult *result;
+ GTask *result;
/* If the session uses the default GMainContext, then we can do
* async I/O directly. But if it has its own main context, we fall
@@ -743,14 +743,14 @@ soup_input_stream_read_async (GInputStream *stream,
return;
}
- result = g_simple_async_result_new (G_OBJECT (stream),
+ result = g_task_new (stream,
callback, user_data,
soup_input_stream_read_async);
if (priv->finished)
{
- g_simple_async_result_set_op_res_gssize (result, 0);
- g_simple_async_result_complete_in_idle (result);
+ g_task_return_int (result, 0);
+ g_task_async_result_complete_in_idle (result);
g_object_unref (result);
return;
}
@@ -758,8 +758,8 @@ soup_input_stream_read_async (GInputStream *stream,
if (priv->leftover_bufsize)
{
gsize nread = read_from_leftover (priv, buffer, count);
- g_simple_async_result_set_op_res_gssize (result, nread);
- g_simple_async_result_complete_in_idle (result);
+ g_task_return_int (result, nread);
+ g_task_async_result_complete_in_idle (result);
g_object_unref (result);
return;
}
@@ -777,13 +777,13 @@ soup_input_stream_read_finish (GInputStream *stream,
GAsyncResult *result,
GError **error)
{
- GSimpleAsyncResult *simple;
+ GTask *task;
g_return_val_if_fail (G_IS_SIMPLE_ASYNC_RESULT (result), -1);
- simple = G_SIMPLE_ASYNC_RESULT (result);
- g_return_val_if_fail (g_simple_async_result_get_source_tag (simple) == soup_input_stream_read_async, -1);
+ task = G_TASK (result);
+ g_return_val_if_fail (g_task_async_result_get_source_tag (task) == soup_input_stream_read_async, -1);
- return g_simple_async_result_get_op_res_gssize (simple);
+ return g_task_propagate_ssize (task, error);
}
static void
@@ -793,22 +793,22 @@ soup_input_stream_close_async (GInputStream *stream,
GAsyncReadyCallback callback,
gpointer user_data)
{
- GSimpleAsyncResult *result;
+ GTask *result;
gboolean success;
GError *error = NULL;
- result = g_simple_async_result_new (G_OBJECT (stream),
+ result = g_task_new (stream,
callback, user_data,
soup_input_stream_close_async);
success = soup_input_stream_close (stream, cancellable, &error);
- g_simple_async_result_set_op_res_gboolean (result, success);
+ g_task_return_boolean (result, success);
if (error)
{
- g_simple_async_result_set_from_error (result, error);
+ g_task_return_error (result, error);
g_error_free (error);
}
- g_simple_async_result_complete_in_idle (result);
+ g_task_async_result_complete_in_idle (result);
g_object_unref (result);
}
diff --git a/daemon/soup-output-stream.c b/daemon/soup-output-stream.c
index 885a8ca7..57099009 100644
--- a/daemon/soup-output-stream.c
+++ b/daemon/soup-output-stream.c
@@ -48,7 +48,7 @@ typedef struct {
SoupOutputStreamCallback finished_cb;
SoupOutputStreamCallback cancelled_cb;
- GSimpleAsyncResult *result;
+ GTask *result;
} SoupOutputStreamPrivate;
#define SOUP_OUTPUT_STREAM_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), SOUP_TYPE_OUTPUT_STREAM, SoupOutputStreamPrivate))
@@ -298,9 +298,9 @@ soup_output_stream_write_async (GOutputStream *stream,
gpointer user_data)
{
SoupOutputStreamPrivate *priv = SOUP_OUTPUT_STREAM_GET_PRIVATE (stream);
- GSimpleAsyncResult *result;
+ GTask *result;
- result = g_simple_async_result_new (G_OBJECT (stream),
+ result = g_task_new (stream,
callback, user_data,
soup_output_stream_write_async);
@@ -310,17 +310,17 @@ soup_output_stream_write_async (GOutputStream *stream,
error = g_error_new (G_IO_ERROR, G_IO_ERROR_NO_SPACE,
"Write would exceed caller-defined file size");
- g_simple_async_result_set_from_error (result, error);
+ g_task_return_error (result, error);
g_error_free (error);
}
else
{
g_byte_array_append (priv->ba, buffer, count);
priv->offset += count;
- g_simple_async_result_set_op_res_gssize (result, count);
+ g_task_return_int (result, count);
}
- g_simple_async_result_complete_in_idle (result);
+ g_task_async_result_complete_in_idle (result);
g_object_unref (result);
}
@@ -329,13 +329,13 @@ soup_output_stream_write_finish (GOutputStream *stream,
GAsyncResult *result,
GError **error)
{
- GSimpleAsyncResult *simple;
+ GTask *task;
gssize nwritten;
- simple = G_SIMPLE_ASYNC_RESULT (result);
- g_warn_if_fail (g_simple_async_result_get_source_tag (simple) == soup_output_stream_write_async);
+ task = G_TASK (result);
+ g_warn_if_fail (g_task_async_result_get_source_tag (task) == soup_output_stream_write_async);
- nwritten = g_simple_async_result_get_op_res_gssize (simple);
+ nwritten = g_task_propagate_ssize (task, error);
return nwritten;
}
@@ -343,7 +343,7 @@ static void
close_async_done (GOutputStream *stream)
{
SoupOutputStreamPrivate *priv = SOUP_OUTPUT_STREAM_GET_PRIVATE (stream);
- GSimpleAsyncResult *result;
+ GTask *result;
GError *error = NULL;
result = priv->result;
@@ -352,17 +352,17 @@ close_async_done (GOutputStream *stream)
if (g_cancellable_set_error_if_cancelled (priv->cancellable, &error) ||
set_error_if_http_failed (priv->msg, &error))
{
- g_simple_async_result_set_from_error (result, error);
+ g_task_return_error (result, error);
g_error_free (error);
}
else
- g_simple_async_result_set_op_res_gboolean (result, TRUE);
+ g_task_return_boolean (result, TRUE);
priv->finished_cb = NULL;
priv->cancelled_cb = NULL;
soup_output_stream_done_io (stream);
- g_simple_async_result_complete (result);
+ g_task_async_result_complete (result);
g_object_unref (result);
}
@@ -385,9 +385,9 @@ soup_output_stream_close_async (GOutputStream *stream,
gpointer user_data)
{
SoupOutputStreamPrivate *priv = SOUP_OUTPUT_STREAM_GET_PRIVATE (stream);
- GSimpleAsyncResult *result;
+ GTask *result;
- result = g_simple_async_result_new (G_OBJECT (stream),
+ result = g_task_new (stream,
callback, user_data,
soup_output_stream_close_async);
@@ -397,9 +397,9 @@ soup_output_stream_close_async (GOutputStream *stream,
error = g_error_new (G_IO_ERROR, G_IO_ERROR_NO_SPACE,
"File is incomplete");
- g_simple_async_result_set_from_error (result, error);
+ g_task_return_error (result, error);
g_error_free (error);
- g_simple_async_result_complete_in_idle (result);
+ g_task_async_result_complete_in_idle (result);
g_object_unref (result);
return;
}
diff --git a/monitor/gdu/ggdudrive.c b/monitor/gdu/ggdudrive.c
index 4e511683..6f1491f1 100644
--- a/monitor/gdu/ggdudrive.c
+++ b/monitor/gdu/ggdudrive.c
@@ -548,7 +548,7 @@ unmount_mounts_cb (GObject *source_object,
{
UnmountMountsOp *data = user_data;
GMount *mount = G_MOUNT (source_object);
- GSimpleAsyncResult *simple;
+ GTask *task;
GError *error = NULL;
if (!g_mount_unmount_with_operation_finish (mount, res, &error))
@@ -562,13 +562,13 @@ unmount_mounts_cb (GObject *source_object,
}
/* unmount failed; need to fail the whole eject operation */
- simple = g_simple_async_result_new_from_error (G_OBJECT (data->drive),
+ task = g_task_new_from_error (G_OBJECT (data->drive),
data->callback,
data->user_data,
error);
g_error_free (error);
- g_simple_async_result_complete (simple);
- g_object_unref (simple);
+ g_task_async_result_complete (task);
+ g_object_unref (task);
free_unmount_mounts_op (data);
}
@@ -626,7 +626,7 @@ detach_after_eject_cb (GduDevice *device,
GError *error,
gpointer user_data)
{
- GSimpleAsyncResult *simple = G_SIMPLE_ASYNC_RESULT (user_data);
+ GTask *task = G_TASK (user_data);
/* Don't return an error here - this is because some devices, such as
* the Kindle, can do Eject() but not Detach() e.g. the STOP UNIT
@@ -638,8 +638,8 @@ detach_after_eject_cb (GduDevice *device,
g_error_free (error);
}
- g_simple_async_result_complete (simple);
- g_object_unref (simple);
+ g_task_async_result_complete (task);
+ g_object_unref (task);
}
static void
@@ -647,11 +647,11 @@ eject_cb (GduDevice *device,
GError *error,
gpointer user_data)
{
- GSimpleAsyncResult *simple = G_SIMPLE_ASYNC_RESULT (user_data);
+ GTask *task = G_TASK (user_data);
GGduDrive *drive;
gboolean drive_detachable;
- drive = G_GDU_DRIVE (g_async_result_get_source_object (G_ASYNC_RESULT (simple)));
+ drive = G_GDU_DRIVE (g_async_result_get_source_object (G_ASYNC_RESULT (task)));
drive_detachable = drive->can_stop == FALSE && drive->start_stop_type == G_DRIVE_START_STOP_TYPE_SHUTDOWN;
if (error != NULL && error->code == G_IO_ERROR_FAILED &&
@@ -664,9 +664,9 @@ eject_cb (GduDevice *device,
if (error != NULL)
{
- g_simple_async_result_set_from_error (simple, error);
- g_simple_async_result_complete (simple);
- g_object_unref (simple);
+ g_task_return_error (task, error);
+ g_task_async_result_complete (task);
+ g_object_unref (task);
g_error_free (error);
goto out;
}
@@ -676,13 +676,13 @@ eject_cb (GduDevice *device,
/* If device is not ejectable but it is detachable and we don't support stop(),
* then also run Detach() after Eject() - see update_drive() for details for why...
*/
- gdu_device_op_drive_detach (device, detach_after_eject_cb, simple);
+ gdu_device_op_drive_detach (device, detach_after_eject_cb, task);
}
else
{
/* otherwise we are done */
- g_simple_async_result_complete (simple);
- g_object_unref (simple);
+ g_task_async_result_complete (task);
+ g_object_unref (task);
}
g_object_unref (drive);
@@ -698,29 +698,29 @@ g_gdu_drive_eject_on_all_unmounted (GDrive *_drive,
gpointer on_all_unmounted_data)
{
GGduDrive *drive = G_GDU_DRIVE (_drive);
- GSimpleAsyncResult *simple;
+ GTask *task;
GduDevice *device;
device = gdu_presentable_get_device (drive->presentable);
if (device == NULL)
{
- simple = g_simple_async_result_new_error (G_OBJECT (drive),
+ task = g_task_new_error (G_OBJECT (drive),
callback,
user_data,
G_IO_ERROR,
G_IO_ERROR_FAILED,
"Drive is activatable and not running");
- g_simple_async_result_complete_in_idle (simple);
- g_object_unref (simple);
+ g_task_async_result_complete_in_idle (task);
+ g_object_unref (task);
}
else
{
- simple = g_simple_async_result_new (G_OBJECT (drive),
+ task = g_task_new (drive,
callback,
user_data,
NULL);
- gdu_device_op_drive_eject (device, eject_cb, simple);
+ gdu_device_op_drive_eject (device, eject_cb, task);
}
}
@@ -750,7 +750,7 @@ g_gdu_drive_eject_with_operation_finish (GDrive *drive,
GAsyncResult *result,
GError **error)
{
- return !g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (result), error);
+ return !g_task_async_result_propagate_error (G_TASK (result), error);
}
static void
@@ -778,16 +778,16 @@ stop_cb (GduDevice *device,
GError *error,
gpointer user_data)
{
- GSimpleAsyncResult *simple = G_SIMPLE_ASYNC_RESULT (user_data);
+ GTask *task = G_TASK (user_data);
if (error != NULL)
{
- g_simple_async_result_set_from_error (simple, error);
+ g_task_return_error (task, error);
g_error_free (error);
}
- g_simple_async_result_complete (simple);
- g_object_unref (simple);
+ g_task_async_result_complete (task);
+ g_object_unref (task);
}
static void
@@ -795,16 +795,16 @@ drive_deactivate_cb (GduDrive *drive,
GError *error,
gpointer user_data)
{
- GSimpleAsyncResult *simple = G_SIMPLE_ASYNC_RESULT (user_data);
+ GTask *task = G_TASK (user_data);
if (error != NULL)
{
- g_simple_async_result_set_from_error (simple, error);
+ g_task_return_error (task, error);
g_error_free (error);
}
- g_simple_async_result_complete (simple);
- g_object_unref (simple);
+ g_task_async_result_complete (task);
+ g_object_unref (task);
}
static void
@@ -815,10 +815,10 @@ g_gdu_drive_stop_on_all_unmounted (GDrive *_drive,
gpointer on_all_unmounted_data)
{
GGduDrive *drive = G_GDU_DRIVE (_drive);
- GSimpleAsyncResult *simple;
+ GTask *task;
GduDevice *device;
- simple = g_simple_async_result_new (G_OBJECT (drive),
+ task = g_task_new (drive,
callback,
user_data,
NULL);
@@ -829,32 +829,32 @@ g_gdu_drive_stop_on_all_unmounted (GDrive *_drive,
device = gdu_presentable_get_device (drive->presentable);
if (device == NULL)
{
- g_simple_async_result_set_error (simple,
+ g_task_return_new_error (task,
G_IO_ERROR,
G_IO_ERROR_FAILED,
"Cannot detach: drive has no GduDevice object");
- g_simple_async_result_complete_in_idle (simple);
- g_object_unref (simple);
+ g_task_async_result_complete_in_idle (task);
+ g_object_unref (task);
}
else
{
- gdu_device_op_drive_detach (device, stop_cb, simple);
+ gdu_device_op_drive_detach (device, stop_cb, task);
g_object_unref (device);
}
break;
case G_DRIVE_START_STOP_TYPE_MULTIDISK:
- gdu_drive_deactivate (GDU_DRIVE (drive->presentable), drive_deactivate_cb, simple);
+ gdu_drive_deactivate (GDU_DRIVE (drive->presentable), drive_deactivate_cb, task);
break;
default:
- g_simple_async_result_set_error (simple,
+ g_task_return_new_error (task,
G_IO_ERROR,
G_IO_ERROR_NOT_SUPPORTED,
"start_stop_type %d not supported",
drive->start_stop_type);
- g_simple_async_result_complete_in_idle (simple);
- g_object_unref (simple);
+ g_task_async_result_complete_in_idle (task);
+ g_object_unref (task);
break;
}
}
@@ -885,7 +885,7 @@ g_gdu_drive_stop_finish (GDrive *drive,
GAsyncResult *result,
GError **error)
{
- return !g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (result), error);
+ return !g_task_async_result_propagate_error (G_TASK (result), error);
}
/* ---------------------------------------------------------------------------------------------------- */
@@ -896,11 +896,11 @@ start_cb (GduDrive *drive,
GError *error,
gpointer user_data)
{
- GSimpleAsyncResult *simple = G_SIMPLE_ASYNC_RESULT (user_data);
+ GTask *task = G_TASK (user_data);
if (error != NULL)
{
- g_simple_async_result_set_error (simple,
+ g_task_return_new_error (task,
G_IO_ERROR,
G_IO_ERROR_FAILED,
"Failed activating drive: %s",
@@ -911,14 +911,14 @@ start_cb (GduDrive *drive,
{
g_free (assembled_drive_object_path);
}
- g_simple_async_result_complete (simple);
- g_object_unref (simple);
+ g_task_async_result_complete (task);
+ g_object_unref (task);
}
typedef struct
{
GGduDrive *drive;
- GSimpleAsyncResult *simple;
+ GTask *task;
GMountOperation *start_operation;
gulong start_operation_reply_handler_id;
@@ -944,7 +944,7 @@ start_operation_reply (GMountOperation *op,
if (result == G_MOUNT_OPERATION_ABORTED)
{
/* The user aborted the operation so consider it "handled" */
- g_simple_async_result_set_error (data->simple,
+ g_task_return_new_error (data->task,
G_IO_ERROR,
G_IO_ERROR_FAILED_HANDLED,
"Start operation dialog aborted (user should never see this error since "
@@ -952,12 +952,12 @@ start_operation_reply (GMountOperation *op,
}
else
{
- g_simple_async_result_set_error (data->simple,
+ g_task_return_new_error (data->task,
G_IO_ERROR,
G_IO_ERROR_FAILED,
"Expected G_MOUNT_OPERATION_HANDLED but got %d", result);
}
- g_simple_async_result_complete (data->simple);
+ g_task_async_result_complete (data->task);
goto out;
}
@@ -965,21 +965,21 @@ start_operation_reply (GMountOperation *op,
choice = g_mount_operation_get_choice (data->start_operation);
if (choice == 1)
{
- g_simple_async_result_set_error (data->simple,
+ g_task_return_new_error (data->task,
G_IO_ERROR,
G_IO_ERROR_FAILED_HANDLED,
"User refused to start degraded array (user should never see this error since "
"it is G_IO_ERROR_FAILED_HANDLED)");
- g_simple_async_result_complete (data->simple);
+ g_task_async_result_complete (data->task);
goto out;
}
- gdu_drive_activate (GDU_DRIVE (data->drive->presentable), start_cb, g_object_ref (data->simple));
+ gdu_drive_activate (GDU_DRIVE (data->drive->presentable), start_cb, g_object_ref (data->task));
out:
g_object_unref (data->drive);
g_object_unref (data->start_operation);
- g_object_unref (data->simple);
+ g_object_unref (data->task);
g_free (data);
}
@@ -992,7 +992,7 @@ g_gdu_drive_start (GDrive *_drive,
gpointer user_data)
{
GGduDrive *drive = G_GDU_DRIVE (_drive);
- GSimpleAsyncResult *simple;
+ GTask *task;
gboolean degraded;
/* TODO: handle GCancellable */
@@ -1003,7 +1003,7 @@ g_gdu_drive_start (GDrive *_drive,
if (start_operation == NULL && degraded)
goto refuse_degraded_without_confirmation;
- simple = g_simple_async_result_new (G_OBJECT (drive),
+ task = g_task_new (drive,
callback,
user_data,
NULL);
@@ -1026,7 +1026,7 @@ g_gdu_drive_start (GDrive *_drive,
data = g_new0 (StartOpData, 1);
data->drive = g_object_ref (drive);
- data->simple = simple;
+ data->task = task;
data->start_operation = g_object_ref (start_operation);
data->start_operation_reply_handler_id = g_signal_connect (start_operation,
"reply",
@@ -1040,32 +1040,32 @@ g_gdu_drive_start (GDrive *_drive,
}
else
{
- gdu_drive_activate (GDU_DRIVE (drive->presentable), start_cb, simple);
+ gdu_drive_activate (GDU_DRIVE (drive->presentable), start_cb, task);
}
return;
not_supported:
- simple = g_simple_async_result_new_error (G_OBJECT (drive),
+ task = g_task_new_error (G_OBJECT (drive),
callback,
user_data,
G_IO_ERROR,
G_IO_ERROR_NOT_SUPPORTED,
"Starting drive with start_stop_type %d is not supported",
drive->start_stop_type);
- g_simple_async_result_complete_in_idle (simple);
- g_object_unref (simple);
+ g_task_async_result_complete_in_idle (task);
+ g_object_unref (task);
return;
refuse_degraded_without_confirmation:
- simple = g_simple_async_result_new_error (G_OBJECT (drive),
+ task = g_task_new_error (G_OBJECT (drive),
callback,
user_data,
G_IO_ERROR,
G_IO_ERROR_FAILED,
"Refusing to start degraded multidisk drive without user confirmation");
- g_simple_async_result_complete_in_idle (simple);
- g_object_unref (simple);
+ g_task_async_result_complete_in_idle (task);
+ g_object_unref (task);
}
@@ -1074,7 +1074,7 @@ g_gdu_drive_start_finish (GDrive *drive,
GAsyncResult *result,
GError **error)
{
- return !g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (result), error);
+ return !g_task_async_result_propagate_error (G_TASK (result), error);
}
/* ---------------------------------------------------------------------------------------------------- */
@@ -1084,19 +1084,19 @@ poll_media_cb (GduDevice *device,
GError *error,
gpointer user_data)
{
- GSimpleAsyncResult *simple = G_SIMPLE_ASYNC_RESULT (user_data);
+ GTask *task = G_TASK (user_data);
if (error != NULL)
{
/* We could handle PolicyKit integration here but this action is allowed by default
* and this won't be needed when porting to PolicyKit 1.0 anyway
*/
- g_simple_async_result_set_from_error (simple, error);
+ g_task_return_error (task, error);
g_error_free (error);
}
- g_simple_async_result_complete (simple);
- g_object_unref (simple);
+ g_task_async_result_complete (task);
+ g_object_unref (task);
}
static void
@@ -1106,29 +1106,29 @@ g_gdu_drive_poll_for_media (GDrive *_drive,
gpointer user_data)
{
GGduDrive *drive = G_GDU_DRIVE (_drive);
- GSimpleAsyncResult *simple;
+ GTask *task;
GduDevice *device;
device = gdu_presentable_get_device (drive->presentable);
if (device == NULL)
{
- simple = g_simple_async_result_new_error (G_OBJECT (drive),
+ task = g_task_new_error (G_OBJECT (drive),
callback,
user_data,
G_IO_ERROR,
G_IO_ERROR_FAILED,
"Device is not active");
- g_simple_async_result_complete_in_idle (simple);
- g_object_unref (simple);
+ g_task_async_result_complete_in_idle (task);
+ g_object_unref (task);
}
else
{
- simple = g_simple_async_result_new (G_OBJECT (drive),
+ task = g_task_new (drive,
callback,
user_data,
NULL);
- gdu_device_op_drive_poll_media (device, poll_media_cb, simple);
+ gdu_device_op_drive_poll_media (device, poll_media_cb, task);
g_object_unref (device);
}
}
@@ -1138,7 +1138,7 @@ g_gdu_drive_poll_for_media_finish (GDrive *drive,
GAsyncResult *result,
GError **error)
{
- return !g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (result), error);
+ return !g_task_async_result_propagate_error (G_TASK (result), error);
}
/* ---------------------------------------------------------------------------------------------------- */
diff --git a/monitor/gdu/ggdumount.c b/monitor/gdu/ggdumount.c
index b7e8545a..92a8c392 100644
--- a/monitor/gdu/ggdumount.c
+++ b/monitor/gdu/ggdumount.c
@@ -517,7 +517,7 @@ static void
bin_unmount_cb (GPid pid, gint status, gpointer user_data)
{
BinUnmountData *data = user_data;
- GSimpleAsyncResult *simple;
+ GTask *task;
g_spawn_close_pid (pid);
@@ -534,7 +534,7 @@ bin_unmount_cb (GPid pid, gint status, gpointer user_data)
error = g_error_new_literal (G_IO_ERROR,
error_code,
data->error_string->str);
- simple = g_simple_async_result_new_from_error (G_OBJECT (data->mount),
+ task = g_task_new_from_error (G_OBJECT (data->mount),
data->callback,
data->user_data,
error);
@@ -542,14 +542,14 @@ bin_unmount_cb (GPid pid, gint status, gpointer user_data)
}
else
{
- simple = g_simple_async_result_new (G_OBJECT (data->mount),
+ task = g_task_new (data->mount,
data->callback,
data->user_data,
NULL);
}
- g_simple_async_result_complete (simple);
- g_object_unref (simple);
+ g_task_async_result_complete (task);
+ g_object_unref (task);
g_source_remove (data->error_channel_source_id);
g_io_channel_unref (data->error_channel);
@@ -630,13 +630,13 @@ handle_error:
if (error != NULL)
{
- GSimpleAsyncResult *simple;
- simple = g_simple_async_result_new_from_error (G_OBJECT (data->mount),
+ GTask *task;
+ task = g_task_new_from_error (G_OBJECT (data->mount),
data->callback,
data->user_data,
error);
- g_simple_async_result_complete (simple);
- g_object_unref (simple);
+ g_task_async_result_complete (task);
+ g_object_unref (task);
if (data->error_string != NULL)
g_string_free (data->error_string, TRUE);
@@ -756,7 +756,7 @@ _gdu_unmount_luks_lock_cb (GduDevice *device,
gpointer user_data)
{
_GduUnmountData *data = user_data;
- GSimpleAsyncResult *simple;
+ GTask *task;
if (error != NULL)
{
@@ -769,15 +769,15 @@ _gdu_unmount_luks_lock_cb (GduDevice *device,
if (!data->completed)
{
- simple = g_simple_async_result_new_from_error (G_OBJECT (data->mount),
+ task = g_task_new_from_error (G_OBJECT (data->mount),
data->callback,
data->user_data,
error);
g_error_free (error);
data->completed = TRUE;
_gdu_unmount_data_unref (data);
- g_simple_async_result_complete_in_idle (simple);
- g_object_unref (simple);
+ g_task_async_result_complete_in_idle (task);
+ g_object_unref (task);
}
goto out;
}
@@ -785,14 +785,14 @@ _gdu_unmount_luks_lock_cb (GduDevice *device,
/* we're done */
if (!data->completed)
{
- simple = g_simple_async_result_new (G_OBJECT (data->mount),
+ task = g_task_new (data->mount,
data->callback,
data->user_data,
NULL);
data->completed = TRUE;
_gdu_unmount_data_unref (data);
- g_simple_async_result_complete_in_idle (simple);
- g_object_unref (simple);
+ g_task_async_result_complete_in_idle (task);
+ g_object_unref (task);
}
out:
@@ -809,7 +809,7 @@ _gdu_unmount_on_mount_op_reply (GMountOperation *mount_operation,
gpointer user_data)
{
_GduUnmountData *data = user_data;
- GSimpleAsyncResult *simple;
+ GTask *task;
gint choice;
/* disconnect the signal handler */
@@ -826,7 +826,7 @@ _gdu_unmount_on_mount_op_reply (GMountOperation *mount_operation,
/* don't show an error dialog here */
if (!data->completed)
{
- simple = g_simple_async_result_new_error (G_OBJECT (data->mount),
+ task = g_task_new_error (G_OBJECT (data->mount),
data->callback,
data->user_data,
G_IO_ERROR,
@@ -835,8 +835,8 @@ _gdu_unmount_on_mount_op_reply (GMountOperation *mount_operation,
"error since it is G_IO_ERROR_FAILED_HANDLED)");
data->completed = TRUE;
_gdu_unmount_data_unref (data);
- g_simple_async_result_complete_in_idle (simple);
- g_object_unref (simple);
+ g_task_async_result_complete_in_idle (task);
+ g_object_unref (task);
}
}
else if (result == G_MOUNT_OPERATION_HANDLED)
@@ -852,7 +852,7 @@ _gdu_unmount_on_mount_op_reply (GMountOperation *mount_operation,
*/
if (!data->completed)
{
- simple = g_simple_async_result_new_error (G_OBJECT (data->mount),
+ task = g_task_new_error (G_OBJECT (data->mount),
data->callback,
data->user_data,
G_IO_ERROR,
@@ -860,8 +860,8 @@ _gdu_unmount_on_mount_op_reply (GMountOperation *mount_operation,
_("One or more programs are preventing the unmount operation."));
data->completed = TRUE;
_gdu_unmount_data_unref (data);
- g_simple_async_result_complete_in_idle (simple);
- g_object_unref (simple);
+ g_task_async_result_complete_in_idle (task);
+ g_object_unref (task);
}
}
}
@@ -891,7 +891,7 @@ _gdu_unmount_cb (GduDevice *device,
gpointer user_data)
{
_GduUnmountData *data = user_data;
- GSimpleAsyncResult *simple;
+ GTask *task;
if (error != NULL)
{
@@ -955,15 +955,15 @@ _gdu_unmount_cb (GduDevice *device,
if (!data->completed)
{
- simple = g_simple_async_result_new_from_error (G_OBJECT (data->mount),
+ task = g_task_new_from_error (G_OBJECT (data->mount),
data->callback,
data->user_data,
error);
g_error_free (error);
data->completed = TRUE;
_gdu_unmount_data_unref (data);
- g_simple_async_result_complete_in_idle (simple);
- g_object_unref (simple);
+ g_task_async_result_complete_in_idle (task);
+ g_object_unref (task);
}
goto out;
}
@@ -980,7 +980,7 @@ _gdu_unmount_cb (GduDevice *device,
{
if (!data->completed)
{
- simple = g_simple_async_result_new_error (G_OBJECT (data->mount),
+ task = g_task_new_error (G_OBJECT (data->mount),
data->callback,
data->user_data,
G_IO_ERROR,
@@ -988,8 +988,8 @@ _gdu_unmount_cb (GduDevice *device,
_("Cannot get LUKS cleartext slave"));
data->completed = TRUE;
_gdu_unmount_data_unref (data);
- g_simple_async_result_complete_in_idle (simple);
- g_object_unref (simple);
+ g_task_async_result_complete_in_idle (task);
+ g_object_unref (task);
}
goto out;
}
@@ -1002,7 +1002,7 @@ _gdu_unmount_cb (GduDevice *device,
{
if (!data->completed)
{
- simple = g_simple_async_result_new_error (G_OBJECT (data->mount),
+ task = g_task_new_error (G_OBJECT (data->mount),
data->callback,
data->user_data,
G_IO_ERROR,
@@ -1011,8 +1011,8 @@ _gdu_unmount_cb (GduDevice *device,
luks_cleartext_slave_object_path);
data->completed = TRUE;
_gdu_unmount_data_unref (data);
- g_simple_async_result_complete_in_idle (simple);
- g_object_unref (simple);
+ g_task_async_result_complete_in_idle (task);
+ g_object_unref (task);
}
goto out;
}
@@ -1029,14 +1029,14 @@ _gdu_unmount_cb (GduDevice *device,
/* not a cleartext device => we're done */
if (!data->completed)
{
- simple = g_simple_async_result_new (G_OBJECT (data->mount),
+ task = g_task_new (data->mount,
data->callback,
data->user_data,
NULL);
data->completed = TRUE;
_gdu_unmount_data_unref (data);
- g_simple_async_result_complete_in_idle (simple);
- g_object_unref (simple);
+ g_task_async_result_complete_in_idle (task);
+ g_object_unref (task);
}
out:
@@ -1063,9 +1063,9 @@ _gdu_unmount_on_cancelled (GMount *mount,
if (!data->completed)
{
- GSimpleAsyncResult *simple;
+ GTask *task;
- simple = g_simple_async_result_new_error (G_OBJECT (data->mount),
+ task = g_task_new_error (G_OBJECT (data->mount),
data->callback,
data->user_data,
G_IO_ERROR,
@@ -1073,8 +1073,8 @@ _gdu_unmount_on_cancelled (GMount *mount,
_("Operation was cancelled"));
data->completed = TRUE;
_gdu_unmount_data_unref (data);
- g_simple_async_result_complete_in_idle (simple);
- g_object_unref (simple);
+ g_task_async_result_complete_in_idle (task);
+ g_object_unref (task);
}
}
@@ -1150,13 +1150,13 @@ g_gdu_mount_unmount_with_operation (GMount *_mount,
if (mount->is_burn_mount)
{
/* burn mounts are really never mounted so complete successfully immediately */
- GSimpleAsyncResult *simple;
- simple = g_simple_async_result_new (G_OBJECT (mount),
+ GTask *task;
+ task = g_task_new (mount,
callback,
user_data,
NULL);
- g_simple_async_result_complete (simple);
- g_object_unref (simple);
+ g_task_async_result_complete (task);
+ g_object_unref (task);
}
else
{
@@ -1168,15 +1168,15 @@ g_gdu_mount_unmount_with_operation (GMount *_mount,
}
else
{
- GSimpleAsyncResult *simple;
- simple = g_simple_async_result_new_error (G_OBJECT (mount),
+ GTask *task;
+ task = g_task_new_error (G_OBJECT (mount),
callback,
user_data,
G_IO_ERROR,
G_IO_ERROR_FAILED,
_("Operation not supported by backend"));
- g_simple_async_result_complete (simple);
- g_object_unref (simple);
+ g_task_async_result_complete (task);
+ g_object_unref (task);
}
}
@@ -1185,7 +1185,7 @@ g_gdu_mount_unmount_with_operation_finish (GMount *mount,
GAsyncResult *result,
GError **error)
{
- return !g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (result), error);
+ return !g_task_async_result_propagate_error (G_TASK (result), error);
}
static void
@@ -1252,15 +1252,15 @@ g_gdu_mount_eject_with_operation (GMount *mount,
}
else
{
- GSimpleAsyncResult *simple;
- simple = g_simple_async_result_new_error (G_OBJECT (mount),
+ GTask *task;
+ task = g_task_new_error (G_OBJECT (mount),
callback,
user_data,
G_IO_ERROR,
G_IO_ERROR_FAILED,
_("Operation not supported by backend"));
- g_simple_async_result_complete (simple);
- g_object_unref (simple);
+ g_task_async_result_complete (task);
+ g_object_unref (task);
}
}
@@ -1287,7 +1287,7 @@ g_gdu_mount_eject_with_operation_finish (GMount *_mount,
}
else
{
- g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (result), error);
+ g_task_async_result_propagate_error (G_TASK (result), error);
res = FALSE;
}
@@ -1420,15 +1420,15 @@ g_gdu_mount_guess_content_type (GMount *mount,
GAsyncReadyCallback callback,
gpointer user_data)
{
- GSimpleAsyncResult *simple;
+ GTask *task;
/* TODO: handle force_rescan */
- simple = g_simple_async_result_new (G_OBJECT (mount),
+ task = g_task_new (mount,
callback,
user_data,
NULL);
- g_simple_async_result_complete (simple);
- g_object_unref (simple);
+ g_task_async_result_complete (task);
+ g_object_unref (task);
}
static gchar **
diff --git a/monitor/gdu/ggduvolume.c b/monitor/gdu/ggduvolume.c
index eb15d220..15518e78 100644
--- a/monitor/gdu/ggduvolume.c
+++ b/monitor/gdu/ggduvolume.c
@@ -735,7 +735,7 @@ struct MountOpData
{
GGduVolume *volume;
GduDevice *device_to_mount;
- GSimpleAsyncResult *simple;
+ GTask *task;
GCancellable *cancellable;
gulong cancelled_handler_id;
@@ -751,7 +751,7 @@ mount_op_data_unref (MountOpData *data)
g_object_unref (data->volume);
if (data->device_to_mount != NULL)
g_object_unref (data->device_to_mount);
- g_object_unref (data->simple);
+ g_object_unref (data->task);
if (data->cancelled_handler_id != 0)
g_signal_handler_disconnect (data->cancellable, data->cancelled_handler_id);
if (data->cancellable != NULL)
@@ -776,11 +776,11 @@ cancel_pending_mount_op (MountOpData *data)
g_signal_emit_by_name (data->mount_operation, "aborted");
/* complete the operation (sends reply to caller) */
- g_simple_async_result_set_error (data->simple,
+ g_task_return_new_error (data->task,
G_IO_ERROR,
G_IO_ERROR_FAILED_HANDLED,
"Operation was cancelled");
- g_simple_async_result_complete (data->simple);
+ g_task_async_result_complete (data->task);
}
static void
@@ -803,7 +803,7 @@ mount_cb (GduDevice *device,
error->domain = G_IO_ERROR;
error->code = G_IO_ERROR_FAILED_HANDLED;
}
- g_simple_async_result_set_from_error (data->simple, error);
+ g_task_return_error (data->task, error);
g_error_free (error);
}
else
@@ -811,7 +811,7 @@ mount_cb (GduDevice *device,
g_free (mount_point);
}
- g_simple_async_result_complete (data->simple);
+ g_task_async_result_complete (data->task);
bailout:
data->volume->pending_mount_op = NULL;
@@ -837,11 +837,11 @@ mount_cleartext_device (MountOpData *data,
data->device_to_mount = gdu_pool_get_by_object_path (pool, object_path_of_cleartext_device);
if (data->device_to_mount == NULL)
{
- g_simple_async_result_set_error (data->simple,
+ g_task_return_new_error (data->task,
G_IO_ERROR,
G_IO_ERROR_FAILED,
"Successfully unlocked encrypted volume but cleartext device does not exist");
- g_simple_async_result_complete (data->simple);
+ g_task_async_result_complete (data->task);
data->volume->pending_mount_op = NULL;
mount_op_data_unref (data);
}
@@ -918,9 +918,9 @@ unlock_cb (GduDevice *device,
error->domain = G_IO_ERROR;
error->code = G_IO_ERROR_FAILED_HANDLED;
}
- g_simple_async_result_set_from_error (data->simple, error);
+ g_task_return_error (data->task, error);
g_error_free (error);
- g_simple_async_result_complete (data->simple);
+ g_task_async_result_complete (data->task);
data->volume->pending_mount_op = NULL;
mount_op_data_unref (data);
}
@@ -1000,19 +1000,19 @@ mount_operation_reply (GMountOperation *mount_operation,
if (result == G_MOUNT_OPERATION_ABORTED)
{
/* The user aborted the operation so consider it "handled" */
- g_simple_async_result_set_error (data->simple,
+ g_task_return_new_error (data->task,
G_IO_ERROR,
G_IO_ERROR_FAILED_HANDLED,
"Password dialog aborted (user should never see this error since it is G_IO_ERROR_FAILED_HANDLED)");
}
else
{
- g_simple_async_result_set_error (data->simple,
+ g_task_return_new_error (data->task,
G_IO_ERROR,
G_IO_ERROR_PERMISSION_DENIED,
"Expected G_MOUNT_OPERATION_HANDLED but got %d", result);
}
- g_simple_async_result_complete (data->simple);
+ g_task_async_result_complete (data->task);
data->volume->pending_mount_op = NULL;
mount_op_data_unref (data);
goto out;
@@ -1060,11 +1060,11 @@ mount_with_mount_operation (MountOpData *data)
if (data->mount_operation == NULL)
{
- g_simple_async_result_set_error (data->simple,
+ g_task_return_new_error (data->task,
G_IO_ERROR,
G_IO_ERROR_FAILED,
"Password required to access the encrypted data");
- g_simple_async_result_complete (data->simple);
+ g_task_async_result_complete (data->task);
data->volume->pending_mount_op = NULL;
mount_op_data_unref (data);
goto out;
@@ -1154,7 +1154,7 @@ g_gdu_volume_mount (GVolume *_volume,
gpointer user_data)
{
GGduVolume *volume = G_GDU_VOLUME (_volume);
- GSimpleAsyncResult *simple;
+ GTask *task;
GduDevice *device;
GduPool *pool;
const gchar *usage;
@@ -1178,14 +1178,14 @@ g_gdu_volume_mount (GVolume *_volume,
if (volume->pending_mount_op != NULL)
{
- simple = g_simple_async_result_new_error (G_OBJECT (volume),
+ task = g_task_new_error (G_OBJECT (volume),
callback,
user_data,
G_IO_ERROR,
G_IO_ERROR_FAILED,
"A mount operation is already pending");
- g_simple_async_result_complete (simple);
- g_object_unref (simple);
+ g_task_async_result_complete (task);
+ g_object_unref (task);
goto out;
}
@@ -1193,14 +1193,14 @@ g_gdu_volume_mount (GVolume *_volume,
if (device == NULL)
{
- simple = g_simple_async_result_new_error (G_OBJECT (volume),
+ task = g_task_new_error (G_OBJECT (volume),
callback,
user_data,
G_IO_ERROR,
G_IO_ERROR_FAILED,
"Underlying device missing");
- g_simple_async_result_complete (simple);
- g_object_unref (simple);
+ g_task_async_result_complete (task);
+ g_object_unref (task);
goto out;
}
@@ -1216,12 +1216,12 @@ g_gdu_volume_mount (GVolume *_volume,
*/
if (gdu_device_optical_disc_get_is_blank (device) || gdu_device_is_mounted (device))
{
- simple = g_simple_async_result_new (G_OBJECT (volume),
+ task = g_task_new (volume,
callback,
user_data,
g_gdu_volume_mount);
- g_simple_async_result_complete (simple);
- g_object_unref (simple);
+ g_task_async_result_complete (task);
+ g_object_unref (task);
goto out;
}
@@ -1229,7 +1229,7 @@ g_gdu_volume_mount (GVolume *_volume,
data->volume = g_object_ref (volume);
- data->simple = g_simple_async_result_new (G_OBJECT (volume),
+ data->task = g_task_new (volume,
callback,
user_data,
g_gdu_volume_mount);
@@ -1281,11 +1281,11 @@ g_gdu_volume_mount (GVolume *_volume,
/* don't put up a password dialog if the daemon is inhibited */
if (gdu_pool_is_daemon_inhibited (pool))
{
- g_simple_async_result_set_error (data->simple,
+ g_task_return_new_error (data->task,
G_IO_ERROR,
G_IO_ERROR_FAILED_HANDLED,
"Daemon is currently inhibited");
- g_simple_async_result_complete (data->simple);
+ g_task_async_result_complete (data->task);
volume->pending_mount_op = NULL;
mount_op_data_unref (data);
goto out;
@@ -1314,11 +1314,11 @@ g_gdu_volume_mount_finish (GVolume *volume,
GAsyncResult *result,
GError **error)
{
- GSimpleAsyncResult *simple = G_SIMPLE_ASYNC_RESULT (result);
+ GTask *task = G_TASK (result);
- //g_warn_if_fail (g_simple_async_result_get_source_tag (simple) == g_gdu_volume_mount);
+ //g_warn_if_fail (g_task_async_result_get_source_tag (task) == g_gdu_volume_mount);
- return !g_simple_async_result_propagate_error (simple, error);
+ return !g_task_async_result_propagate_error (task, error);
}
/* ---------------------------------------------------------------------------------------------------- */
@@ -1356,19 +1356,19 @@ mount_point_op_changed_cb (GVolume *volume,
gpointer user_data)
{
MountPointOp *data = user_data;
- GSimpleAsyncResult *simple;
+ GTask *task;
/* keep waiting if the mount hasn't appeared */
if (data->volume->mount == NULL)
goto out;
- simple = g_simple_async_result_new (G_OBJECT (data->volume),
+ task = g_task_new (data->volume,
data->callback,
data->user_data,
NULL);
/* complete in idle to make sure the mount is added before we return */
- g_simple_async_result_complete_in_idle (simple);
- g_object_unref (simple);
+ g_task_async_result_complete_in_idle (task);
+ g_object_unref (task);
g_signal_handler_disconnect (data->volume, data->wait_for_mount_changed_signal_handler_id);
g_source_remove (data->wait_for_mount_timeout_id);
@@ -1383,16 +1383,16 @@ static gboolean
mount_point_op_never_appeared_cb (gpointer user_data)
{
MountPointOp *data = user_data;
- GSimpleAsyncResult *simple;
+ GTask *task;
- simple = g_simple_async_result_new_error (G_OBJECT (data->volume),
+ task = g_task_new_error (G_OBJECT (data->volume),
data->callback,
data->user_data,
G_IO_ERROR,
G_IO_ERROR_FAILED,
"Timeout waiting for mount to appear");
- g_simple_async_result_complete (simple);
- g_object_unref (simple);
+ g_task_async_result_complete (task);
+ g_object_unref (task);
g_signal_handler_disconnect (data->volume, data->wait_for_mount_changed_signal_handler_id);
g_source_remove (data->wait_for_mount_timeout_id);
@@ -1406,7 +1406,7 @@ static void
mount_point_op_cb (GPid pid, gint status, gpointer user_data)
{
MountPointOp *data = user_data;
- GSimpleAsyncResult *simple;
+ GTask *task;
g_spawn_close_pid (pid);
@@ -1416,13 +1416,13 @@ mount_point_op_cb (GPid pid, gint status, gpointer user_data)
error = g_error_new_literal (G_IO_ERROR,
G_IO_ERROR_FAILED,
data->error_string->str);
- simple = g_simple_async_result_new_from_error (G_OBJECT (data->volume),
+ task = g_task_new_from_error (G_OBJECT (data->volume),
data->callback,
data->user_data,
error);
g_error_free (error);
- g_simple_async_result_complete (simple);
- g_object_unref (simple);
+ g_task_async_result_complete (task);
+ g_object_unref (task);
mount_point_op_free (data);
}
else
@@ -1439,7 +1439,7 @@ mount_point_op_cb (GPid pid, gint status, gpointer user_data)
*/
if (data->volume->mount == NULL)
{
- /* no need to ref, GSimpleAsyncResult has a ref on data->volume */
+ /* no need to ref, GTask has a ref on data->volume */
data->wait_for_mount_timeout_id = g_timeout_add (5 * 1000,
mount_point_op_never_appeared_cb,
data);
@@ -1451,12 +1451,12 @@ mount_point_op_cb (GPid pid, gint status, gpointer user_data)
else
{
/* have the mount already, finish up */
- simple = g_simple_async_result_new (G_OBJECT (data->volume),
+ task = g_task_new (data->volume,
data->callback,
data->user_data,
NULL);
- g_simple_async_result_complete (simple);
- g_object_unref (simple);
+ g_task_async_result_complete (task);
+ g_object_unref (task);
mount_point_op_free (data);
}
}
@@ -1550,13 +1550,13 @@ g_gdu_volume_mount_unix_mount_point (GGduVolume *volume,
handle_error:
if (error != NULL)
{
- GSimpleAsyncResult *simple;
- simple = g_simple_async_result_new_from_error (G_OBJECT (data->volume),
+ GTask *task;
+ task = g_task_new_from_error (G_OBJECT (data->volume),
data->callback,
data->user_data,
error);
- g_simple_async_result_complete (simple);
- g_object_unref (simple);
+ g_task_async_result_complete (task);
+ g_object_unref (task);
mount_point_op_free (data);
}
@@ -1608,15 +1608,15 @@ g_gdu_volume_eject_with_operation (GVolume *volume,
}
else
{
- GSimpleAsyncResult *simple;
- simple = g_simple_async_result_new_error (G_OBJECT (volume),
+ GTask *task;
+ task = g_task_new_error (G_OBJECT (volume),
callback,
user_data,
G_IO_ERROR,
G_IO_ERROR_FAILED,
_("Operation not supported by backend"));
- g_simple_async_result_complete (simple);
- g_object_unref (simple);
+ g_task_async_result_complete (task);
+ g_object_unref (task);
}
}
@@ -1635,7 +1635,7 @@ g_gdu_volume_eject_with_operation_finish (GVolume *volume,
}
else
{
- g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (result), error);
+ g_task_async_result_propagate_error (G_TASK (result), error);
res = FALSE;
}
diff --git a/monitor/hal/ghaldrive.c b/monitor/hal/ghaldrive.c
index e778f0ae..dad53a85 100644
--- a/monitor/hal/ghaldrive.c
+++ b/monitor/hal/ghaldrive.c
@@ -539,7 +539,7 @@ static void
spawn_cb (GPid pid, gint status, gpointer user_data)
{
SpawnOp *data = user_data;
- GSimpleAsyncResult *simple;
+ GTask *task;
if (WEXITSTATUS (status) != 0)
@@ -548,7 +548,7 @@ spawn_cb (GPid pid, gint status, gpointer user_data)
error = g_error_new_literal (G_IO_ERROR,
G_IO_ERROR_FAILED_HANDLED,
"You are not supposed to show G_IO_ERROR_FAILED_HANDLED in the UI");
- simple = g_simple_async_result_new_from_error (data->object,
+ task = g_task_new_from_error (data->object,
data->callback,
data->user_data,
error);
@@ -556,13 +556,13 @@ spawn_cb (GPid pid, gint status, gpointer user_data)
}
else
{
- simple = g_simple_async_result_new (data->object,
+ task = g_task_new (data->object,
data->callback,
data->user_data,
NULL);
}
- g_simple_async_result_complete (simple);
- g_object_unref (simple);
+ g_task_async_result_complete (task);
+ g_object_unref (task);
g_object_unref (data->object);
g_free (data);
}
@@ -597,14 +597,14 @@ g_hal_drive_eject_do (GDrive *drive,
&child_pid,
&error))
{
- GSimpleAsyncResult *simple;
+ GTask *task;
- simple = g_simple_async_result_new_from_error (data->object,
+ task = g_task_new_from_error (data->object,
data->callback,
data->user_data,
error);
- g_simple_async_result_complete (simple);
- g_object_unref (simple);
+ g_task_async_result_complete (task);
+ g_object_unref (task);
g_object_unref (drive);
g_error_free (error);
g_free (data);
@@ -649,7 +649,7 @@ _eject_unmount_mounts_cb (GObject *source_object,
{
UnmountMountsOp *data = user_data;
GMount *mount = G_MOUNT (source_object);
- GSimpleAsyncResult *simple;
+ GTask *task;
GError *error = NULL;
if (!g_mount_unmount_with_operation_finish (mount, res, &error))
@@ -663,13 +663,13 @@ _eject_unmount_mounts_cb (GObject *source_object,
}
/* unmount failed; need to fail the whole eject operation */
- simple = g_simple_async_result_new_from_error (G_OBJECT (data->drive),
+ task = g_task_new_from_error (G_OBJECT (data->drive),
data->callback,
data->user_data,
error);
g_error_free (error);
- g_simple_async_result_complete (simple);
- g_object_unref (simple);
+ g_task_async_result_complete (task);
+ g_object_unref (task);
free_unmount_mounts_op (data);
}
@@ -791,7 +791,7 @@ static void
poll_for_media_cb (DBusPendingCall *pending_call, void *user_data)
{
PollOp *data = (PollOp *) user_data;
- GSimpleAsyncResult *simple;
+ GTask *task;
DBusMessage *reply;
reply = dbus_pending_call_steal_reply (pending_call);
@@ -806,12 +806,12 @@ poll_for_media_cb (DBusPendingCall *pending_call, void *user_data)
error = g_error_new (G_IO_ERROR,
G_IO_ERROR_FAILED,
"Cannot invoke CheckForMedia on HAL: %s: %s", dbus_error.name, dbus_error.message);
- simple = g_simple_async_result_new_from_error (data->object,
+ task = g_task_new_from_error (data->object,
data->callback,
data->user_data,
error);
- g_simple_async_result_complete (simple);
- g_object_unref (simple);
+ g_task_async_result_complete (task);
+ g_object_unref (task);
g_error_free (error);
dbus_error_free (&dbus_error);
goto out;
@@ -821,12 +821,12 @@ poll_for_media_cb (DBusPendingCall *pending_call, void *user_data)
* (the result is whether the media availability state changed)
*/
- simple = g_simple_async_result_new (data->object,
+ task = g_task_new (data->object,
data->callback,
data->user_data,
NULL);
- g_simple_async_result_complete (simple);
- g_object_unref (simple);
+ g_task_async_result_complete (task);
+ g_object_unref (task);
out:
g_object_unref (data->object);
@@ -864,16 +864,16 @@ g_hal_drive_poll_for_media (GDrive *drive,
if (!dbus_connection_send_with_reply (con, msg, &pending_call, -1))
{
GError *error;
- GSimpleAsyncResult *simple;
+ GTask *task;
error = g_error_new_literal (G_IO_ERROR,
G_IO_ERROR_FAILED,
"Cannot invoke CheckForMedia on HAL");
- simple = g_simple_async_result_new_from_error (data->object,
+ task = g_task_new_from_error (data->object,
data->callback,
data->user_data,
error);
- g_simple_async_result_complete (simple);
- g_object_unref (simple);
+ g_task_async_result_complete (task);
+ g_object_unref (task);
g_error_free (error);
g_object_unref (data->object);
g_free (data);
diff --git a/monitor/hal/ghalmount.c b/monitor/hal/ghalmount.c
index ad805a43..0b28b586 100644
--- a/monitor/hal/ghalmount.c
+++ b/monitor/hal/ghalmount.c
@@ -782,7 +782,7 @@ static void
unmount_cb (GPid pid, gint status, gpointer user_data)
{
UnmountOp *data = user_data;
- GSimpleAsyncResult *simple;
+ GTask *task;
if (WEXITSTATUS (status) != 0)
{
@@ -792,7 +792,7 @@ unmount_cb (GPid pid, gint status, gpointer user_data)
error = g_error_new_literal (G_IO_ERROR,
G_IO_ERROR_FAILED,
data->error_string->str);
- simple = g_simple_async_result_new_from_error (data->object,
+ task = g_task_new_from_error (data->object,
data->callback,
data->user_data,
error);
@@ -804,7 +804,7 @@ unmount_cb (GPid pid, gint status, gpointer user_data)
error = g_error_new_literal (G_IO_ERROR,
G_IO_ERROR_FAILED_HANDLED,
"You are not supposed to show G_IO_ERROR_FAILED_HANDLED in the UI");
- simple = g_simple_async_result_new_from_error (data->object,
+ task = g_task_new_from_error (data->object,
data->callback,
data->user_data,
error);
@@ -813,14 +813,14 @@ unmount_cb (GPid pid, gint status, gpointer user_data)
}
else
{
- simple = g_simple_async_result_new (data->object,
+ task = g_task_new (data->object,
data->callback,
data->user_data,
NULL);
}
- g_simple_async_result_complete (simple);
- g_object_unref (simple);
+ g_task_async_result_complete (task);
+ g_object_unref (task);
g_source_remove (data->error_channel_source_id);
g_io_channel_unref (data->error_channel);
@@ -868,13 +868,13 @@ unmount_do_cb (gpointer user_data)
&(data->error_fd),
&error))
{
- GSimpleAsyncResult *simple;
- simple = g_simple_async_result_new_from_error (data->object,
+ GTask *task;
+ task = g_task_new_from_error (data->object,
data->callback,
data->user_data,
error);
- g_simple_async_result_complete (simple);
- g_object_unref (simple);
+ g_task_async_result_complete (task);
+ g_object_unref (task);
g_error_free (error);
g_strfreev (data->argv);
g_free (data);
@@ -1147,15 +1147,15 @@ g_hal_mount_guess_content_type (GMount *mount,
GAsyncReadyCallback callback,
gpointer user_data)
{
- GSimpleAsyncResult *simple;
+ GTask *task;
/* TODO: handle force_rescan */
- simple = g_simple_async_result_new (G_OBJECT (mount),
+ task = g_task_new (mount,
callback,
user_data,
NULL);
- g_simple_async_result_complete (simple);
- g_object_unref (simple);
+ g_task_async_result_complete (task);
+ g_object_unref (task);
}
static char **
diff --git a/monitor/hal/ghalvolume.c b/monitor/hal/ghalvolume.c
index cef37f7b..0227eece 100644
--- a/monitor/hal/ghalvolume.c
+++ b/monitor/hal/ghalvolume.c
@@ -691,7 +691,7 @@ static void
spawn_cb (GPid pid, gint status, gpointer user_data)
{
SpawnOp *data = user_data;
- GSimpleAsyncResult *simple;
+ GTask *task;
/* ensure that the #GHalMount corrosponding to the #GHalVolume we've
* mounted is made available before returning to the user (make sure
@@ -705,7 +705,7 @@ spawn_cb (GPid pid, gint status, gpointer user_data)
error = g_error_new_literal (G_IO_ERROR,
G_IO_ERROR_FAILED_HANDLED,
"You are not supposed to show G_IO_ERROR_FAILED_HANDLED in the UI");
- simple = g_simple_async_result_new_from_error (data->object,
+ task = g_task_new_from_error (data->object,
data->callback,
data->user_data,
error);
@@ -713,14 +713,14 @@ spawn_cb (GPid pid, gint status, gpointer user_data)
}
else
{
- simple = g_simple_async_result_new (data->object,
+ task = g_task_new (data->object,
data->callback,
data->user_data,
NULL);
}
- g_simple_async_result_complete (simple);
- g_object_unref (simple);
+ g_task_async_result_complete (task);
+ g_object_unref (task);
g_object_unref (data->object);
g_free (data);
}
@@ -752,7 +752,7 @@ spawn_do (GVolume *volume,
&child_pid,
&error))
{
- g_simple_async_report_gerror_in_idle (data->object,
+ g_task_async_report_gerror_in_idle (data->object,
data->callback,
data->user_data,
error);
diff --git a/monitor/proxy/gproxydrive.c b/monitor/proxy/gproxydrive.c
index be2b600f..0a17832e 100644
--- a/monitor/proxy/gproxydrive.c
+++ b/monitor/proxy/gproxydrive.c
@@ -526,21 +526,21 @@ operation_cancelled (GCancellable *cancellable,
gpointer user_data)
{
DBusOp *data = user_data;
- GSimpleAsyncResult *simple;
+ GTask *task;
DBusConnection *connection;
DBusMessage *message;
const char *name;
G_LOCK (proxy_drive);
- simple = g_simple_async_result_new_error (G_OBJECT (data->drive),
+ task = g_task_new_error (G_OBJECT (data->drive),
data->callback,
data->user_data,
G_IO_ERROR,
G_IO_ERROR_CANCELLED,
_("Operation was cancelled"));
- g_simple_async_result_complete_in_idle (simple);
- g_object_unref (simple);
+ g_task_async_result_complete_in_idle (task);
+ g_object_unref (task);
/* Now tell the remote volume monitor that the op has been cancelled */
connection = g_proxy_volume_monitor_get_dbus_connection (data->drive->volume_monitor);
@@ -577,20 +577,20 @@ eject_cb (DBusMessage *reply,
if (!g_cancellable_is_cancelled (data->cancellable))
{
- GSimpleAsyncResult *simple;
+ GTask *task;
if (error != NULL)
- simple = g_simple_async_result_new_from_error (G_OBJECT (data->drive),
+ task = g_task_new_from_error (G_OBJECT (data->drive),
data->callback,
data->user_data,
error);
else
- simple = g_simple_async_result_new (G_OBJECT (data->drive),
+ task = g_task_new (data->drive,
data->callback,
data->user_data,
NULL);
- g_simple_async_result_complete (simple);
- g_object_unref (simple);
+ g_task_async_result_complete (task);
+ g_object_unref (task);
}
g_proxy_mount_operation_destroy (data->mount_op_id);
@@ -620,15 +620,15 @@ g_proxy_drive_eject_with_operation (GDrive *drive,
if (g_cancellable_is_cancelled (cancellable))
{
- GSimpleAsyncResult *simple;
- simple = g_simple_async_result_new_error (G_OBJECT (drive),
+ GTask *task;
+ task = g_task_new_error (G_OBJECT (drive),
callback,
user_data,
G_IO_ERROR,
G_IO_ERROR_CANCELLED,
_("Operation was cancelled"));
- g_simple_async_result_complete_in_idle (simple);
- g_object_unref (simple);
+ g_task_async_result_complete_in_idle (task);
+ g_object_unref (task);
G_UNLOCK (proxy_drive);
goto out;
}
@@ -688,7 +688,7 @@ g_proxy_drive_eject_with_operation_finish (GDrive *drive,
GAsyncResult *result,
GError **error)
{
- if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (result), error))
+ if (g_task_async_result_propagate_error (G_TASK (result), error))
return FALSE;
return TRUE;
}
@@ -725,20 +725,20 @@ stop_cb (DBusMessage *reply,
if (!g_cancellable_is_cancelled (data->cancellable))
{
- GSimpleAsyncResult *simple;
+ GTask *task;
if (error != NULL)
- simple = g_simple_async_result_new_from_error (G_OBJECT (data->drive),
+ task = g_task_new_from_error (G_OBJECT (data->drive),
data->callback,
data->user_data,
error);
else
- simple = g_simple_async_result_new (G_OBJECT (data->drive),
+ task = g_task_new (data->drive,
data->callback,
data->user_data,
NULL);
- g_simple_async_result_complete (simple);
- g_object_unref (simple);
+ g_task_async_result_complete (task);
+ g_object_unref (task);
}
g_proxy_mount_operation_destroy (data->mount_op_id);
@@ -768,15 +768,15 @@ g_proxy_drive_stop (GDrive *drive,
if (g_cancellable_is_cancelled (cancellable))
{
- GSimpleAsyncResult *simple;
- simple = g_simple_async_result_new_error (G_OBJECT (drive),
+ GTask *task;
+ task = g_task_new_error (G_OBJECT (drive),
callback,
user_data,
G_IO_ERROR,
G_IO_ERROR_CANCELLED,
_("Operation was cancelled"));
- g_simple_async_result_complete_in_idle (simple);
- g_object_unref (simple);
+ g_task_async_result_complete_in_idle (task);
+ g_object_unref (task);
G_UNLOCK (proxy_drive);
goto out;
}
@@ -836,7 +836,7 @@ g_proxy_drive_stop_finish (GDrive *drive,
GAsyncResult *result,
GError **error)
{
- if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (result), error))
+ if (g_task_async_result_propagate_error (G_TASK (result), error))
return FALSE;
return TRUE;
}
@@ -865,20 +865,20 @@ start_cb (DBusMessage *reply,
if (!g_cancellable_is_cancelled (data->cancellable))
{
- GSimpleAsyncResult *simple;
+ GTask *task;
if (error != NULL)
- simple = g_simple_async_result_new_from_error (G_OBJECT (data->drive),
+ task = g_task_new_from_error (G_OBJECT (data->drive),
data->callback,
data->user_data,
error);
else
- simple = g_simple_async_result_new (G_OBJECT (data->drive),
+ task = g_task_new (data->drive,
data->callback,
data->user_data,
NULL);
- g_simple_async_result_complete_in_idle (simple);
- g_object_unref (simple);
+ g_task_async_result_complete_in_idle (task);
+ g_object_unref (task);
}
/* free DBusStartOp */
@@ -897,21 +897,21 @@ start_cancelled (GCancellable *cancellable,
gpointer user_data)
{
DBusStartOp *data = user_data;
- GSimpleAsyncResult *simple;
+ GTask *task;
DBusConnection *connection;
DBusMessage *message;
const char *name;
G_LOCK (proxy_drive);
- simple = g_simple_async_result_new_error (G_OBJECT (data->drive),
+ task = g_task_new_error (G_OBJECT (data->drive),
data->callback,
data->user_data,
G_IO_ERROR,
G_IO_ERROR_CANCELLED,
_("Operation was cancelled"));
- g_simple_async_result_complete_in_idle (simple);
- g_object_unref (simple);
+ g_task_async_result_complete_in_idle (task);
+ g_object_unref (task);
/* Now tell the remote drive monitor that the op has been cancelled */
connection = g_proxy_volume_monitor_get_dbus_connection (data->drive->volume_monitor);
@@ -954,15 +954,15 @@ g_proxy_drive_start (GDrive *drive,
if (g_cancellable_is_cancelled (cancellable))
{
- GSimpleAsyncResult *simple;
- simple = g_simple_async_result_new_error (G_OBJECT (drive),
+ GTask *task;
+ task = g_task_new_error (G_OBJECT (drive),
callback,
user_data,
G_IO_ERROR,
G_IO_ERROR_CANCELLED,
_("Operation was cancelled"));
- g_simple_async_result_complete_in_idle (simple);
- g_object_unref (simple);
+ g_task_async_result_complete_in_idle (task);
+ g_object_unref (task);
G_UNLOCK (proxy_drive);
goto out;
}
@@ -1023,7 +1023,7 @@ g_proxy_drive_start_finish (GDrive *drive,
GAsyncResult *result,
GError **error)
{
- if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (result), error))
+ if (g_task_async_result_propagate_error (G_TASK (result), error))
return FALSE;
return TRUE;
}
@@ -1037,20 +1037,20 @@ poll_for_media_cb (DBusMessage *reply,
{
if (!g_cancellable_is_cancelled (data->cancellable))
{
- GSimpleAsyncResult *simple;
+ GTask *task;
if (error != NULL)
- simple = g_simple_async_result_new_from_error (G_OBJECT (data->drive),
+ task = g_task_new_from_error (G_OBJECT (data->drive),
data->callback,
data->user_data,
error);
else
- simple = g_simple_async_result_new (G_OBJECT (data->drive),
+ task = g_task_new (data->drive,
data->callback,
data->user_data,
NULL);
- g_simple_async_result_complete (simple);
- g_object_unref (simple);
+ g_task_async_result_complete (task);
+ g_object_unref (task);
}
g_object_unref (data->drive);
@@ -1078,15 +1078,15 @@ g_proxy_drive_poll_for_media (GDrive *drive,
if (g_cancellable_is_cancelled (cancellable))
{
- GSimpleAsyncResult *simple;
- simple = g_simple_async_result_new_error (G_OBJECT (drive),
+ GTask *task;
+ task = g_task_new_error (G_OBJECT (drive),
callback,
user_data,
G_IO_ERROR,
G_IO_ERROR_CANCELLED,
_("Operation was cancelled"));
- g_simple_async_result_complete_in_idle (simple);
- g_object_unref (simple);
+ g_task_async_result_complete_in_idle (task);
+ g_object_unref (task);
G_UNLOCK (proxy_drive);
goto out;
}
@@ -1141,7 +1141,7 @@ g_proxy_drive_poll_for_media_finish (GDrive *drive,
GAsyncResult *result,
GError **error)
{
- if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (result), error))
+ if (g_task_async_result_propagate_error (G_TASK (result), error))
return FALSE;
return TRUE;
}
diff --git a/monitor/proxy/gproxymount.c b/monitor/proxy/gproxymount.c
index cd3ca49b..f811690f 100644
--- a/monitor/proxy/gproxymount.c
+++ b/monitor/proxy/gproxymount.c
@@ -473,21 +473,21 @@ operation_cancelled (GCancellable *cancellable,
gpointer user_data)
{
DBusOp *data = user_data;
- GSimpleAsyncResult *simple;
+ GTask *task;
DBusConnection *connection;
DBusMessage *message;
const char *name;
G_LOCK (proxy_mount);
- simple = g_simple_async_result_new_error (G_OBJECT (data->mount),
+ task = g_task_new_error (G_OBJECT (data->mount),
data->callback,
data->user_data,
G_IO_ERROR,
G_IO_ERROR_CANCELLED,
_("Operation was cancelled"));
- g_simple_async_result_complete_in_idle (simple);
- g_object_unref (simple);
+ g_task_async_result_complete_in_idle (task);
+ g_object_unref (task);
/* Now tell the remote volume monitor that the op has been cancelled */
connection = g_proxy_volume_monitor_get_dbus_connection (data->mount->volume_monitor);
@@ -522,19 +522,19 @@ unmount_cb (DBusMessage *reply,
if (!g_cancellable_is_cancelled (data->cancellable))
{
- GSimpleAsyncResult *simple;
+ GTask *task;
if (error != NULL)
- simple = g_simple_async_result_new_from_error (G_OBJECT (data->mount),
+ task = g_task_new_from_error (G_OBJECT (data->mount),
data->callback,
data->user_data,
error);
else
- simple = g_simple_async_result_new (G_OBJECT (data->mount),
+ task = g_task_new (data->mount,
data->callback,
data->user_data,
NULL);
- g_simple_async_result_complete (simple);
- g_object_unref (simple);
+ g_task_async_result_complete (task);
+ g_object_unref (task);
}
g_proxy_mount_operation_destroy (data->mount_op_id);
@@ -564,15 +564,15 @@ g_proxy_mount_unmount_with_operation (GMount *mount,
if (g_cancellable_is_cancelled (cancellable))
{
- GSimpleAsyncResult *simple;
- simple = g_simple_async_result_new_error (G_OBJECT (mount),
+ GTask *task;
+ task = g_task_new_error (G_OBJECT (mount),
callback,
user_data,
G_IO_ERROR,
G_IO_ERROR_CANCELLED,
_("Operation was cancelled"));
- g_simple_async_result_complete_in_idle (simple);
- g_object_unref (simple);
+ g_task_async_result_complete_in_idle (task);
+ g_object_unref (task);
G_UNLOCK (proxy_mount);
goto out;
}
@@ -633,7 +633,7 @@ g_proxy_mount_unmount_with_operation_finish (GMount *mount,
GAsyncResult *result,
GError **error)
{
- if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (result), error))
+ if (g_task_async_result_propagate_error (G_TASK (result), error))
return FALSE;
return TRUE;
}
@@ -663,15 +663,15 @@ g_proxy_mount_guess_content_type (GMount *mount,
GAsyncReadyCallback callback,
gpointer user_data)
{
- GSimpleAsyncResult *simple;
+ GTask *task;
/* TODO: handle force_rescan */
- simple = g_simple_async_result_new (G_OBJECT (mount),
+ task = g_task_new (mount,
callback,
user_data,
NULL);
- g_simple_async_result_complete_in_idle (simple);
- g_object_unref (simple);
+ g_task_async_result_complete_in_idle (task);
+ g_object_unref (task);
}
static char **
diff --git a/monitor/proxy/gproxyvolume.c b/monitor/proxy/gproxyvolume.c
index b6b8c91b..a6662f95 100644
--- a/monitor/proxy/gproxyvolume.c
+++ b/monitor/proxy/gproxyvolume.c
@@ -750,20 +750,20 @@ mount_cb (DBusMessage *reply,
if (!g_cancellable_is_cancelled (data->cancellable))
{
- GSimpleAsyncResult *simple;
+ GTask *task;
if (error != NULL)
- simple = g_simple_async_result_new_from_error (G_OBJECT (data->volume),
+ task = g_task_new_from_error (G_OBJECT (data->volume),
data->callback,
data->user_data,
error);
else
- simple = g_simple_async_result_new (G_OBJECT (data->volume),
+ task = g_task_new (data->volume,
data->callback,
data->user_data,
NULL);
- g_simple_async_result_complete_in_idle (simple);
- g_object_unref (simple);
+ g_task_async_result_complete_in_idle (task);
+ g_object_unref (task);
}
/* free DBusOp */
@@ -811,21 +811,21 @@ mount_cancelled (GCancellable *cancellable,
gpointer user_data)
{
DBusOp *data = user_data;
- GSimpleAsyncResult *simple;
+ GTask *task;
DBusConnection *connection;
DBusMessage *message;
const char *name;
G_LOCK (proxy_volume);
- simple = g_simple_async_result_new_error (G_OBJECT (data->volume),
+ task = g_task_new_error (G_OBJECT (data->volume),
data->callback,
data->user_data,
G_IO_ERROR,
G_IO_ERROR_CANCELLED,
_("Operation was cancelled"));
- g_simple_async_result_complete_in_idle (simple);
- g_object_unref (simple);
+ g_task_async_result_complete_in_idle (task);
+ g_object_unref (task);
/* Now tell the remote volume monitor that the op has been cancelled */
connection = g_proxy_volume_monitor_get_dbus_connection (data->volume->volume_monitor);
@@ -894,15 +894,15 @@ g_proxy_volume_mount (GVolume *volume,
if (g_cancellable_is_cancelled (cancellable))
{
- GSimpleAsyncResult *simple;
- simple = g_simple_async_result_new_error (G_OBJECT (volume),
+ GTask *task;
+ task = g_task_new_error (G_OBJECT (volume),
callback,
user_data,
G_IO_ERROR,
G_IO_ERROR_CANCELLED,
_("Operation was cancelled"));
- g_simple_async_result_complete_in_idle (simple);
- g_object_unref (simple);
+ g_task_async_result_complete_in_idle (task);
+ g_object_unref (task);
G_UNLOCK (proxy_volume);
goto out;
}
@@ -964,7 +964,7 @@ g_proxy_volume_mount_finish (GVolume *volume,
GAsyncResult *result,
GError **error)
{
- if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (result), error))
+ if (g_task_async_result_propagate_error (G_TASK (result), error))
return FALSE;
return TRUE;
}
diff --git a/monitor/udisks2/gvfsudisks2drive.c b/monitor/udisks2/gvfsudisks2drive.c
index 454f340c..76f290d5 100644
--- a/monitor/udisks2/gvfsudisks2drive.c
+++ b/monitor/udisks2/gvfsudisks2drive.c
@@ -496,7 +496,7 @@ unmount_mounts_cb (GObject *source_object,
{
UnmountMountsOp *data = user_data;
GMount *mount = G_MOUNT (source_object);
- GSimpleAsyncResult *simple;
+ GTask *task;
GError *error = NULL;
if (!g_mount_unmount_with_operation_finish (mount, res, &error))
@@ -511,13 +511,13 @@ unmount_mounts_cb (GObject *source_object,
}
/* unmount failed; need to fail the whole eject operation */
- simple = g_simple_async_result_new_from_error (G_OBJECT (data->drive),
+ task = g_task_new_from_error (G_OBJECT (data->drive),
data->callback,
data->user_data,
error);
g_error_free (error);
- g_simple_async_result_complete (simple);
- g_object_unref (simple);
+ g_task_async_result_complete (task);
+ g_object_unref (task);
free_unmount_mounts_op (data);
}
@@ -568,7 +568,7 @@ unmount_mounts (GVfsUDisks2Drive *drive,
typedef struct
{
- GSimpleAsyncResult *simple;
+ GTask *task;
GVfsUDisks2Drive *drive;
} EjectData;
@@ -576,7 +576,7 @@ typedef struct
static void
eject_data_free (EjectData *data)
{
- g_object_unref (data->simple);
+ g_object_unref (data->task);
g_clear_object (&data->drive);
g_free (data);
}
@@ -593,12 +593,12 @@ eject_cb (GObject *source_object,
if (!udisks_drive_call_eject_finish (UDISKS_DRIVE (source_object), res, &error))
{
gvfs_udisks2_utils_udisks_error_to_gio_error (error);
- g_simple_async_result_take_error (data->simple, error);
- g_simple_async_result_complete (data->simple);
+ g_task_async_result_take_error (data->task, error);
+ g_task_async_result_complete (data->task);
goto out;
}
- g_simple_async_result_complete (data->simple);
+ g_task_async_result_complete (data->task);
out:
eject_data_free (data);
@@ -617,7 +617,7 @@ gvfs_udisks2_drive_eject_on_all_unmounted (GDrive *_drive,
EjectData *data;
data = g_new0 (EjectData, 1);
- data->simple = g_simple_async_result_new (G_OBJECT (drive),
+ data->task = g_task_new (drive,
callback,
user_data,
gvfs_udisks2_drive_eject_on_all_unmounted);
@@ -663,7 +663,7 @@ gvfs_udisks2_drive_eject_with_operation_finish (GDrive *drive,
GAsyncResult *result,
GError **error)
{
- return !g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (result), error);
+ return !g_task_async_result_propagate_error (G_TASK (result), error);
}
static void
diff --git a/monitor/udisks2/gvfsudisks2mount.c b/monitor/udisks2/gvfsudisks2mount.c
index 61f58a1f..947a91d4 100644
--- a/monitor/udisks2/gvfsudisks2mount.c
+++ b/monitor/udisks2/gvfsudisks2mount.c
@@ -514,7 +514,7 @@ gvfs_udisks2_mount_can_eject (GMount *_mount)
typedef struct
{
volatile gint ref_count;
- GSimpleAsyncResult *simple;
+ GTask *task;
gboolean completed;
GVfsUDisks2Mount *mount;
@@ -543,7 +543,7 @@ unmount_data_unref (UnmountData *data)
{
if (g_atomic_int_dec_and_test (&data->ref_count))
{
- g_object_unref (data->simple);
+ g_object_unref (data->task);
if (data->mount_op_reply_handler_id > 0)
{
@@ -606,12 +606,12 @@ on_mount_op_reply (GMountOperation *mount_operation,
(result == G_MOUNT_OPERATION_HANDLED && choice == 1))
{
/* don't show an error dialog here */
- g_simple_async_result_set_error (data->simple,
+ g_task_return_new_error (data->task,
G_IO_ERROR,
G_IO_ERROR_FAILED_HANDLED,
"GMountOperation aborted (user should never see this "
"error since it is G_IO_ERROR_FAILED_HANDLED)");
- g_simple_async_result_complete_in_idle (data->simple);
+ g_task_async_result_complete_in_idle (data->task);
data->completed = TRUE;
unmount_data_unref (data);
}
@@ -625,11 +625,11 @@ on_mount_op_reply (GMountOperation *mount_operation,
/* result == G_MOUNT_OPERATION_UNHANDLED => GMountOperation instance doesn't
* support :show-processes signal
*/
- g_simple_async_result_set_error (data->simple,
+ g_task_return_new_error (data->task,
G_IO_ERROR,
G_IO_ERROR_BUSY,
_("One or more programs are preventing the unmount operation."));
- g_simple_async_result_complete_in_idle (data->simple);
+ g_task_async_result_complete_in_idle (data->task);
data->completed = TRUE;
unmount_data_unref (data);
}
@@ -758,8 +758,8 @@ lock_cb (GObject *source_object,
if (!udisks_encrypted_call_lock_finish (encrypted,
res,
&error))
- g_simple_async_result_take_error (data->simple, error);
- g_simple_async_result_complete (data->simple);
+ g_task_async_result_take_error (data->task, error);
+ g_task_async_result_complete (data->task);
data->completed = TRUE;
unmount_data_unref (data);
}
@@ -786,7 +786,7 @@ unmount_cb (GObject *source_object,
unmount_show_busy (data, udisks_filesystem_get_mount_points (filesystem)[0]);
goto out;
}
- g_simple_async_result_take_error (data->simple, error);
+ g_task_async_result_take_error (data->task, error);
}
else
{
@@ -802,7 +802,7 @@ unmount_cb (GObject *source_object,
}
}
- g_simple_async_result_complete (data->simple);
+ g_task_async_result_complete (data->task);
data->completed = TRUE;
unmount_data_unref (data);
out:
@@ -829,9 +829,9 @@ umount_command_cb (GObject *source_object,
&standard_error,
&error))
{
- g_simple_async_result_take_error (data->simple, error);
- g_simple_async_result_take_error (data->simple, error);
- g_simple_async_result_complete (data->simple);
+ g_task_async_result_take_error (data->task, error);
+ g_task_async_result_take_error (data->task, error);
+ g_task_async_result_complete (data->task);
data->completed = TRUE;
unmount_data_unref (data);
goto out;
@@ -840,7 +840,7 @@ umount_command_cb (GObject *source_object,
if (WIFEXITED (exit_status) && WEXITSTATUS (exit_status) == 0)
{
gvfs_udisks2_volume_monitor_update (data->mount->monitor);
- g_simple_async_result_complete (data->simple);
+ g_task_async_result_complete (data->task);
data->completed = TRUE;
unmount_data_unref (data);
goto out;
@@ -852,11 +852,11 @@ umount_command_cb (GObject *source_object,
goto out;
}
- g_simple_async_result_set_error (data->simple,
+ g_task_return_new_error (data->task,
G_IO_ERROR,
G_IO_ERROR_FAILED,
standard_error);
- g_simple_async_result_complete (data->simple);
+ g_task_async_result_complete (data->task);
data->completed = TRUE;
unmount_data_unref (data);
@@ -926,7 +926,7 @@ gvfs_udisks2_mount_unmount_with_operation (GMount *_mount,
data = g_new0 (UnmountData, 1);
data->ref_count = 1;
- data->simple = g_simple_async_result_new (G_OBJECT (mount),
+ data->task = g_task_new (mount,
callback,
user_data,
gvfs_udisks2_mount_unmount_with_operation);
@@ -938,7 +938,7 @@ gvfs_udisks2_mount_unmount_with_operation (GMount *_mount,
if (mount->is_burn_mount)
{
/* burn mounts are really never mounted so complete successfully immediately */
- g_simple_async_result_complete_in_idle (data->simple);
+ g_task_async_result_complete_in_idle (data->task);
data->completed = TRUE;
unmount_data_unref (data);
goto out;
@@ -953,11 +953,11 @@ gvfs_udisks2_mount_unmount_with_operation (GMount *_mount,
object = g_dbus_interface_get_object (G_DBUS_INTERFACE (block));
if (object == NULL)
{
- g_simple_async_result_set_error (data->simple,
+ g_task_return_new_error (data->task,
G_IO_ERROR,
G_IO_ERROR_FAILED,
"No object for D-Bus interface");
- g_simple_async_result_complete (data->simple);
+ g_task_async_result_complete (data->task);
data->completed = TRUE;
unmount_data_unref (data);
goto out;
@@ -970,11 +970,11 @@ gvfs_udisks2_mount_unmount_with_operation (GMount *_mount,
data->encrypted = udisks_object_get_encrypted (UDISKS_OBJECT (object));
if (data->encrypted == NULL)
{
- g_simple_async_result_set_error (data->simple,
+ g_task_return_new_error (data->task,
G_IO_ERROR,
G_IO_ERROR_FAILED,
"No filesystem or encrypted interface on D-Bus object");
- g_simple_async_result_complete (data->simple);
+ g_task_async_result_complete (data->task);
data->completed = TRUE;
unmount_data_unref (data);
goto out;
@@ -988,11 +988,11 @@ gvfs_udisks2_mount_unmount_with_operation (GMount *_mount,
g_object_unref (cleartext_block);
if (data->filesystem == NULL)
{
- g_simple_async_result_set_error (data->simple,
+ g_task_return_new_error (data->task,
G_IO_ERROR,
G_IO_ERROR_FAILED,
"No filesystem interface on D-Bus object for cleartext device");
- g_simple_async_result_complete (data->simple);
+ g_task_async_result_complete (data->task);
data->completed = TRUE;
unmount_data_unref (data);
goto out;
@@ -1012,7 +1012,7 @@ gvfs_udisks2_mount_unmount_with_operation_finish (GMount *mount,
GAsyncResult *result,
GError **error)
{
- return !g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (result), error);
+ return !g_task_async_result_propagate_error (G_TASK (result), error);
}
/* ---------------------------------------------------------------------------------------------------- */
@@ -1082,15 +1082,15 @@ gvfs_udisks2_mount_eject_with_operation (GMount *_mount,
}
else
{
- GSimpleAsyncResult *simple;
- simple = g_simple_async_result_new_error (G_OBJECT (mount),
+ GTask *task;
+ task = g_task_new_error (G_OBJECT (mount),
callback,
user_data,
G_IO_ERROR,
G_IO_ERROR_FAILED,
_("Operation not supported by backend"));
- g_simple_async_result_complete (simple);
- g_object_unref (simple);
+ g_task_async_result_complete (task);
+ g_object_unref (task);
}
}
@@ -1114,7 +1114,7 @@ gvfs_udisks2_mount_eject_with_operation_finish (GMount *_mount,
}
else
{
- g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (result), error);
+ g_task_async_result_propagate_error (G_TASK (result), error);
ret = FALSE;
}
return ret;
@@ -1224,13 +1224,13 @@ gvfs_udisks2_mount_guess_content_type (GMount *mount,
GAsyncReadyCallback callback,
gpointer user_data)
{
- GSimpleAsyncResult *simple;
- simple = g_simple_async_result_new (G_OBJECT (mount),
+ GTask *task;
+ task = g_task_new (mount,
callback,
user_data,
NULL);
- g_simple_async_result_complete (simple);
- g_object_unref (simple);
+ g_task_async_result_complete (task);
+ g_object_unref (task);
}
static gchar **
diff --git a/monitor/udisks2/gvfsudisks2utils.c b/monitor/udisks2/gvfsudisks2utils.c
index 0dc8abe8..a5675f02 100644
--- a/monitor/udisks2/gvfsudisks2utils.c
+++ b/monitor/udisks2/gvfsudisks2utils.c
@@ -112,7 +112,7 @@ gvfs_udisks2_utils_lookup_fstab_options_value (const gchar *fstab_options,
typedef struct
{
- GSimpleAsyncResult *simple; /* borrowed reference */
+ GTask *task; /* borrowed reference */
GMainContext *main_context; /* may be NULL */
gchar *command_line;
@@ -259,9 +259,9 @@ on_cancelled (GCancellable *cancellable,
error = NULL;
g_warn_if_fail (g_cancellable_set_error_if_cancelled (cancellable, &error));
- g_simple_async_result_take_error (data->simple, error);
- g_simple_async_result_complete_in_idle (data->simple);
- g_object_unref (data->simple);
+ g_task_async_result_take_error (data->task, error);
+ g_task_async_result_complete_in_idle (data->task);
+ g_object_unref (data->task);
}
static gboolean
@@ -319,8 +319,8 @@ child_watch_cb (GPid pid,
data->child_watch_source = NULL;
/* we're done */
- g_simple_async_result_complete_in_idle (data->simple);
- g_object_unref (data->simple);
+ g_task_async_result_complete_in_idle (data->task);
+ g_object_unref (data->task);
}
static gboolean
@@ -334,8 +334,8 @@ timeout_cb (gpointer user_data)
data->timeout_source = NULL;
/* we're done */
- g_simple_async_result_complete_in_idle (data->simple);
- g_object_unref (data->simple);
+ g_task_async_result_complete_in_idle (data->task);
+ g_object_unref (data->task);
return FALSE; /* remove source */
}
@@ -355,7 +355,7 @@ gvfs_udisks2_utils_spawn (guint timeout_seconds,
gchar **child_argv = NULL;
data = g_slice_new0 (SpawnData);
- data->simple = g_simple_async_result_new (NULL,
+ data->task = g_task_new (NULL,
callback,
user_data,
gvfs_udisks2_utils_spawn);
@@ -374,8 +374,8 @@ gvfs_udisks2_utils_spawn (guint timeout_seconds,
data->child_stdout_fd = -1;
data->child_stderr_fd = -1;
- /* the life-cycle of SpawnData is tied to its GSimpleAsyncResult */
- g_simple_async_result_set_op_res_gpointer (data->simple, data, (GDestroyNotify) spawn_data_free);
+ /* the life-cycle of SpawnData is tied to its GTask */
+ g_task_return_pointer (data->task, data, (GDestroyNotify) spawn_data_free);
error = NULL;
if (data->cancellable != NULL)
@@ -384,9 +384,9 @@ gvfs_udisks2_utils_spawn (guint timeout_seconds,
error = NULL;
if (g_cancellable_set_error_if_cancelled (data->cancellable, &error))
{
- g_simple_async_result_take_error (data->simple, error);
- g_simple_async_result_complete_in_idle (data->simple);
- g_object_unref (data->simple);
+ g_task_async_result_take_error (data->task, error);
+ g_task_async_result_complete_in_idle (data->task);
+ g_object_unref (data->task);
goto out;
}
@@ -405,9 +405,9 @@ gvfs_udisks2_utils_spawn (guint timeout_seconds,
g_prefix_error (&error,
"Error parsing command-line `%s': ",
data->command_line);
- g_simple_async_result_take_error (data->simple, error);
- g_simple_async_result_complete_in_idle (data->simple);
- g_object_unref (data->simple);
+ g_task_async_result_take_error (data->task, error);
+ g_task_async_result_complete_in_idle (data->task);
+ g_object_unref (data->task);
goto out;
}
@@ -427,9 +427,9 @@ gvfs_udisks2_utils_spawn (guint timeout_seconds,
g_prefix_error (&error,
"Error spawning command-line `%s': ",
data->command_line);
- g_simple_async_result_take_error (data->simple, error);
- g_simple_async_result_complete_in_idle (data->simple);
- g_object_unref (data->simple);
+ g_task_async_result_take_error (data->task, error);
+ g_task_async_result_complete_in_idle (data->task);
+ g_object_unref (data->task);
goto out;
}
@@ -472,19 +472,19 @@ gvfs_udisks2_utils_spawn_finish (GAsyncResult *res,
gchar **out_standard_error,
GError **error)
{
- GSimpleAsyncResult *simple = G_SIMPLE_ASYNC_RESULT (res);
+ GTask *task = G_TASK (res);
SpawnData *data;
gboolean ret = FALSE;
g_return_val_if_fail (G_IS_ASYNC_RESULT (res), FALSE);
g_return_val_if_fail (error == NULL || *error == NULL, FALSE);
- g_warn_if_fail (g_simple_async_result_get_source_tag (simple) == gvfs_udisks2_utils_spawn);
+ g_warn_if_fail (g_task_async_result_get_source_tag (task) == gvfs_udisks2_utils_spawn);
- if (g_simple_async_result_propagate_error (simple, error))
+ if (g_task_async_result_propagate_error (task, error))
goto out;
- data = g_simple_async_result_get_op_res_gpointer (simple);
+ data = g_task_propagate_pointer (task, error);
if (data->timed_out)
{
diff --git a/monitor/udisks2/gvfsudisks2volume.c b/monitor/udisks2/gvfsudisks2volume.c
index af2cdf3b..7272105e 100644
--- a/monitor/udisks2/gvfsudisks2volume.c
+++ b/monitor/udisks2/gvfsudisks2volume.c
@@ -716,7 +716,7 @@ gvfs_udisks2_volume_get_activation_root (GVolume *_volume)
struct MountData
{
- GSimpleAsyncResult *simple;
+ GTask *task;
GVfsUDisks2Volume *volume;
GCancellable *cancellable;
@@ -738,7 +738,7 @@ mount_data_free (MountData *data)
if (data->volume->mount_pending_op == data)
data->volume->mount_pending_op = NULL;
- g_object_unref (data->simple);
+ g_object_unref (data->task);
g_clear_object (&data->volume);
g_clear_object (&data->cancellable);
@@ -794,8 +794,8 @@ mount_command_cb (GObject *source_object,
&standard_error,
&error))
{
- g_simple_async_result_take_error (data->simple, error);
- g_simple_async_result_complete (data->simple);
+ g_task_async_result_take_error (data->task, error);
+ g_task_async_result_complete (data->task);
mount_data_free (data);
goto out;
}
@@ -803,16 +803,16 @@ mount_command_cb (GObject *source_object,
if (WIFEXITED (exit_status) && WEXITSTATUS (exit_status) == 0)
{
gvfs_udisks2_volume_monitor_update (data->volume->monitor);
- g_simple_async_result_complete (data->simple);
+ g_task_async_result_complete (data->task);
mount_data_free (data);
goto out;
}
- g_simple_async_result_set_error (data->simple,
+ g_task_return_new_error (data->task,
G_IO_ERROR,
G_IO_ERROR_FAILED,
standard_error);
- g_simple_async_result_complete (data->simple);
+ g_task_async_result_complete (data->task);
mount_data_free (data);
out:
@@ -837,13 +837,13 @@ mount_cb (GObject *source_object,
&error))
{
gvfs_udisks2_utils_udisks_error_to_gio_error (error);
- g_simple_async_result_take_error (data->simple, error);
- g_simple_async_result_complete (data->simple);
+ g_task_async_result_take_error (data->task, error);
+ g_task_async_result_complete (data->task);
}
else
{
gvfs_udisks2_volume_monitor_update (data->volume->monitor);
- g_simple_async_result_complete (data->simple);
+ g_task_async_result_complete (data->task);
g_free (mount_path);
}
mount_data_free (data);
@@ -886,8 +886,8 @@ unlock_cb (GObject *source_object,
&error))
{
gvfs_udisks2_utils_udisks_error_to_gio_error (error);
- g_simple_async_result_take_error (data->simple, error);
- g_simple_async_result_complete (data->simple);
+ g_task_async_result_take_error (data->task, error);
+ g_task_async_result_complete (data->task);
mount_data_free (data);
goto out;
}
@@ -902,11 +902,11 @@ unlock_cb (GObject *source_object,
data->filesystem_to_mount = object != NULL ? udisks_object_get_filesystem (object) : NULL;
if (data->filesystem_to_mount == NULL)
{
- g_simple_async_result_set_error (data->simple,
+ g_task_return_new_error (data->task,
G_IO_ERROR,
G_IO_ERROR_FAILED,
_("The unlocked device does not have a recognizable filesystem on it"));
- g_simple_async_result_complete (data->simple);
+ g_task_async_result_complete (data->task);
mount_data_free (data);
goto out;
}
@@ -945,19 +945,19 @@ on_mount_operation_reply (GMountOperation *mount_operation,
if (result == G_MOUNT_OPERATION_ABORTED)
{
/* The user aborted the operation so consider it "handled" */
- g_simple_async_result_set_error (data->simple,
+ g_task_return_new_error (data->task,
G_IO_ERROR,
G_IO_ERROR_FAILED_HANDLED,
"Password dialog aborted (user should never see this error since it is G_IO_ERROR_FAILED_HANDLED)");
}
else
{
- g_simple_async_result_set_error (data->simple,
+ g_task_return_new_error (data->task,
G_IO_ERROR,
G_IO_ERROR_PERMISSION_DENIED,
"Expected G_MOUNT_OPERATION_HANDLED but got %d", result);
}
- g_simple_async_result_complete (data->simple);
+ g_task_async_result_complete (data->task);
mount_data_free (data);
goto out;
}
@@ -1025,11 +1025,11 @@ do_unlock (MountData *data)
if (data->mount_operation == NULL)
{
- g_simple_async_result_set_error (data->simple,
+ g_task_return_new_error (data->task,
G_IO_ERROR,
G_IO_ERROR_FAILED,
_("A passphrase is required to access the volume"));
- g_simple_async_result_complete (data->simple);
+ g_task_async_result_complete (data->task);
mount_data_free (data);
goto out;
}
@@ -1106,7 +1106,7 @@ gvfs_udisks2_volume_mount (GVolume *_volume,
MountData *data;
data = g_new0 (MountData, 1);
- data->simple = g_simple_async_result_new (G_OBJECT (volume),
+ data->task = g_task_new (volume,
callback,
user_data,
gvfs_udisks2_volume_mount);
@@ -1116,11 +1116,11 @@ gvfs_udisks2_volume_mount (GVolume *_volume,
if (volume->mount_pending_op != NULL)
{
- g_simple_async_result_set_error (data->simple,
+ g_task_return_new_error (data->task,
G_IO_ERROR,
G_IO_ERROR_FAILED,
"A mount operation is already pending");
- g_simple_async_result_complete (data->simple);
+ g_task_async_result_complete (data->task);
mount_data_free (data);
goto out;
}
@@ -1152,11 +1152,11 @@ gvfs_udisks2_volume_mount (GVolume *_volume,
object = g_dbus_interface_get_object (G_DBUS_INTERFACE (block));
if (object == NULL)
{
- g_simple_async_result_set_error (data->simple,
+ g_task_return_new_error (data->task,
G_IO_ERROR,
G_IO_ERROR_FAILED,
"No object for D-Bus interface");
- g_simple_async_result_complete (data->simple);
+ g_task_async_result_complete (data->task);
mount_data_free (data);
goto out;
}
@@ -1171,11 +1171,11 @@ gvfs_udisks2_volume_mount (GVolume *_volume,
goto out;
}
- g_simple_async_result_set_error (data->simple,
+ g_task_return_new_error (data->task,
G_IO_ERROR,
G_IO_ERROR_FAILED,
"No .Filesystem or .Encrypted interface on D-Bus object");
- g_simple_async_result_complete (data->simple);
+ g_task_async_result_complete (data->task);
mount_data_free (data);
goto out;
}
@@ -1192,8 +1192,8 @@ gvfs_udisks2_volume_mount_finish (GVolume *volume,
GAsyncResult *result,
GError **error)
{
- GSimpleAsyncResult *simple = G_SIMPLE_ASYNC_RESULT (result);
- return !g_simple_async_result_propagate_error (simple, error);
+ GTask *task = G_TASK (result);
+ return !g_task_async_result_propagate_error (task, error);
}
/* ---------------------------------------------------------------------------------------------------- */
@@ -1243,15 +1243,15 @@ gvfs_udisks2_volume_eject_with_operation (GVolume *_volume,
}
else
{
- GSimpleAsyncResult *simple;
- simple = g_simple_async_result_new_error (G_OBJECT (volume),
+ GTask *task;
+ task = g_task_new_error (G_OBJECT (volume),
callback,
user_data,
G_IO_ERROR,
G_IO_ERROR_FAILED,
_("Operation not supported by backend"));
- g_simple_async_result_complete (simple);
- g_object_unref (simple);
+ g_task_async_result_complete (task);
+ g_object_unref (task);
}
}
@@ -1269,7 +1269,7 @@ gvfs_udisks2_volume_eject_with_operation_finish (GVolume *_volume,
}
else
{
- g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (result), error);
+ g_task_async_result_propagate_error (G_TASK (result), error);
ret = FALSE;
}
return ret;