gio: port file/vfs-related classes from GSimpleAsyncResult to GTask

https://bugzilla.gnome.org/show_bug.cgi?id=661767
This commit is contained in:
Dan Winship
2012-08-02 15:50:35 -04:00
parent 669505e354
commit ed5accf16c
12 changed files with 725 additions and 1127 deletions

View File

@@ -31,7 +31,7 @@
#include "gmountprivate.h"
#include "gthemedicon.h"
#include "gasyncresult.h"
#include "gsimpleasyncresult.h"
#include "gtask.h"
#include "gioerror.h"
#include "glibintl.h"
@@ -52,7 +52,7 @@
*
* Unmounting a #GMount instance is an asynchronous operation. For
* more information about asynchronous operations, see #GAsyncResult
* and #GSimpleAsyncResult. To unmount a #GMount instance, first call
* and #GTask. To unmount a #GMount instance, first call
* g_mount_unmount_with_operation() with (at least) the #GMount instance and a
* #GAsyncReadyCallback. The callback will be fired when the
* operation has resolved (either with success or failure), and a
@@ -386,14 +386,13 @@ g_mount_unmount (GMount *mount,
if (iface->unmount == NULL)
{
g_simple_async_report_error_in_idle (G_OBJECT (mount),
callback, user_data,
G_IO_ERROR, G_IO_ERROR_NOT_SUPPORTED,
/* Translators: This is an error
* message for mount objects that
* don't implement unmount. */
_("mount doesn't implement \"unmount\""));
g_task_report_new_error (mount, callback, user_data,
g_mount_unmount_with_operation,
G_IO_ERROR, G_IO_ERROR_NOT_SUPPORTED,
/* Translators: This is an error
* message for mount objects that
* don't implement unmount. */
_("mount doesn't implement \"unmount\""));
return;
}
@@ -426,6 +425,8 @@ g_mount_unmount_finish (GMount *mount,
if (g_async_result_legacy_propagate_error (result, error))
return FALSE;
else if (g_async_result_is_tagged (result, g_mount_unmount_with_operation))
return g_task_propagate_boolean (G_TASK (result), error);
iface = G_MOUNT_GET_IFACE (mount);
return (* iface->unmount_finish) (mount, result, error);
@@ -461,14 +462,13 @@ g_mount_eject (GMount *mount,
if (iface->eject == NULL)
{
g_simple_async_report_error_in_idle (G_OBJECT (mount),
callback, user_data,
G_IO_ERROR, G_IO_ERROR_NOT_SUPPORTED,
/* Translators: This is an error
* message for mount objects that
* don't implement eject. */
_("mount doesn't implement \"eject\""));
g_task_report_new_error (mount, callback, user_data,
g_mount_eject_with_operation,
G_IO_ERROR, G_IO_ERROR_NOT_SUPPORTED,
/* Translators: This is an error
* message for mount objects that
* don't implement eject. */
_("mount doesn't implement \"eject\""));
return;
}
@@ -501,6 +501,8 @@ g_mount_eject_finish (GMount *mount,
if (g_async_result_legacy_propagate_error (result, error))
return FALSE;
else if (g_async_result_is_tagged (result, g_mount_eject_with_operation))
return g_task_propagate_boolean (G_TASK (result), error);
iface = G_MOUNT_GET_IFACE (mount);
return (* iface->eject_finish) (mount, result, error);
@@ -538,14 +540,13 @@ g_mount_unmount_with_operation (GMount *mount,
if (iface->unmount == NULL && iface->unmount_with_operation == NULL)
{
g_simple_async_report_error_in_idle (G_OBJECT (mount),
callback, user_data,
G_IO_ERROR, G_IO_ERROR_NOT_SUPPORTED,
/* Translators: This is an error
* message for mount objects that
* don't implement any of unmount or unmount_with_operation. */
_("mount doesn't implement \"unmount\" or \"unmount_with_operation\""));
g_task_report_new_error (mount, callback, user_data,
g_mount_unmount_with_operation,
G_IO_ERROR, G_IO_ERROR_NOT_SUPPORTED,
/* Translators: This is an error
* message for mount objects that
* don't implement any of unmount or unmount_with_operation. */
_("mount doesn't implement \"unmount\" or \"unmount_with_operation\""));
return;
}
@@ -581,6 +582,8 @@ g_mount_unmount_with_operation_finish (GMount *mount,
if (g_async_result_legacy_propagate_error (result, error))
return FALSE;
else if (g_async_result_is_tagged (result, g_mount_unmount_with_operation))
return g_task_propagate_boolean (G_TASK (result), error);
iface = G_MOUNT_GET_IFACE (mount);
if (iface->unmount_with_operation_finish != NULL)
@@ -622,13 +625,13 @@ g_mount_eject_with_operation (GMount *mount,
if (iface->eject == NULL && iface->eject_with_operation == NULL)
{
g_simple_async_report_error_in_idle (G_OBJECT (mount),
callback, user_data,
G_IO_ERROR, G_IO_ERROR_NOT_SUPPORTED,
/* Translators: This is an error
* message for mount objects that
* don't implement any of eject or eject_with_operation. */
_("mount doesn't implement \"eject\" or \"eject_with_operation\""));
g_task_report_new_error (mount, callback, user_data,
g_mount_eject_with_operation,
G_IO_ERROR, G_IO_ERROR_NOT_SUPPORTED,
/* Translators: This is an error
* message for mount objects that
* don't implement any of eject or eject_with_operation. */
_("mount doesn't implement \"eject\" or \"eject_with_operation\""));
return;
}
@@ -664,6 +667,8 @@ g_mount_eject_with_operation_finish (GMount *mount,
if (g_async_result_legacy_propagate_error (result, error))
return FALSE;
else if (g_async_result_is_tagged (result, g_mount_eject_with_operation))
return g_task_propagate_boolean (G_TASK (result), error);
iface = G_MOUNT_GET_IFACE (mount);
if (iface->eject_with_operation_finish != NULL)
@@ -708,14 +713,13 @@ g_mount_remount (GMount *mount,
if (iface->remount == NULL)
{
g_simple_async_report_error_in_idle (G_OBJECT (mount),
callback, user_data,
G_IO_ERROR, G_IO_ERROR_NOT_SUPPORTED,
/* Translators: This is an error
* message for mount objects that
* don't implement remount. */
_("mount doesn't implement \"remount\""));
g_task_report_new_error (mount, callback, user_data,
g_mount_remount,
G_IO_ERROR, G_IO_ERROR_NOT_SUPPORTED,
/* Translators: This is an error
* message for mount objects that
* don't implement remount. */
_("mount doesn't implement \"remount\""));
return;
}
@@ -746,6 +750,8 @@ g_mount_remount_finish (GMount *mount,
if (g_async_result_legacy_propagate_error (result, error))
return FALSE;
else if (g_async_result_is_tagged (result, g_mount_remount))
return g_task_propagate_boolean (G_TASK (result), error);
iface = G_MOUNT_GET_IFACE (mount);
return (* iface->remount_finish) (mount, result, error);
@@ -788,14 +794,13 @@ g_mount_guess_content_type (GMount *mount,
if (iface->guess_content_type == NULL)
{
g_simple_async_report_error_in_idle (G_OBJECT (mount),
callback, user_data,
G_IO_ERROR, G_IO_ERROR_NOT_SUPPORTED,
/* Translators: This is an error
* message for mount objects that
* don't implement content type guessing. */
_("mount doesn't implement content type guessing"));
g_task_report_new_error (mount, callback, user_data,
g_mount_guess_content_type,
G_IO_ERROR, G_IO_ERROR_NOT_SUPPORTED,
/* Translators: This is an error
* message for mount objects that
* don't implement content type guessing. */
_("mount doesn't implement content type guessing"));
return;
}
@@ -832,6 +837,8 @@ g_mount_guess_content_type_finish (GMount *mount,
if (g_async_result_legacy_propagate_error (result, error))
return NULL;
else if (g_async_result_is_tagged (result, g_mount_guess_content_type))
return g_task_propagate_pointer (G_TASK (result), error);
iface = G_MOUNT_GET_IFACE (mount);
return (* iface->guess_content_type_finish) (mount, result, error);