diff options
author | Dan Winship <danw@gnome.org> | 2012-08-02 15:50:35 -0400 |
---|---|---|
committer | Dan Winship <danw@gnome.org> | 2012-12-18 09:07:24 -0500 |
commit | ed5accf16c03cc3ec5d54a457163a747d580b49d (patch) | |
tree | 0ff7d5293a7e15cc434d2a1f03d966e95844a5be /gio/gdrive.c | |
parent | 669505e354a843efb2e198d4b56e310fa6a69b9a (diff) | |
download | glib-ed5accf16c03cc3ec5d54a457163a747d580b49d.tar.gz |
gio: port file/vfs-related classes from GSimpleAsyncResult to GTask
https://bugzilla.gnome.org/show_bug.cgi?id=661767
Diffstat (limited to 'gio/gdrive.c')
-rw-r--r-- | gio/gdrive.c | 56 |
1 files changed, 34 insertions, 22 deletions
diff --git a/gio/gdrive.c b/gio/gdrive.c index 53c5d759e..32f784899 100644 --- a/gio/gdrive.c +++ b/gio/gdrive.c @@ -23,7 +23,7 @@ #include "config.h" #include "gdrive.h" -#include "gsimpleasyncresult.h" +#include "gtask.h" #include "gthemedicon.h" #include "gasyncresult.h" #include "gioerror.h" @@ -388,10 +388,10 @@ g_drive_eject (GDrive *drive, if (iface->eject == NULL) { - g_simple_async_report_error_in_idle (G_OBJECT (drive), callback, user_data, - G_IO_ERROR, G_IO_ERROR_NOT_SUPPORTED, - _("drive doesn't implement eject")); - + g_task_report_new_error (drive, callback, user_data, + g_drive_eject_with_operation, + G_IO_ERROR, G_IO_ERROR_NOT_SUPPORTED, + _("drive doesn't implement eject")); return; } @@ -423,6 +423,8 @@ g_drive_eject_finish (GDrive *drive, if (g_async_result_legacy_propagate_error (result, error)) return FALSE; + else if (g_async_result_is_tagged (result, g_drive_eject_with_operation)) + return g_task_propagate_boolean (G_TASK (result), error); iface = G_DRIVE_GET_IFACE (drive); @@ -461,13 +463,13 @@ g_drive_eject_with_operation (GDrive *drive, if (iface->eject == NULL && iface->eject_with_operation == NULL) { - g_simple_async_report_error_in_idle (G_OBJECT (drive), - callback, user_data, - G_IO_ERROR, G_IO_ERROR_NOT_SUPPORTED, - /* Translators: This is an error - * message for drive objects that - * don't implement any of eject or eject_with_operation. */ - _("drive doesn't implement eject or eject_with_operation")); + g_task_report_new_error (drive, callback, user_data, + g_drive_eject_with_operation, + G_IO_ERROR, G_IO_ERROR_NOT_SUPPORTED, + /* Translators: This is an error + * message for drive objects that + * don't implement any of eject or eject_with_operation. */ + _("drive doesn't implement eject or eject_with_operation")); return; } @@ -503,6 +505,8 @@ g_drive_eject_with_operation_finish (GDrive *drive, if (g_async_result_legacy_propagate_error (result, error)) return FALSE; + else if (g_async_result_is_tagged (result, g_drive_eject_with_operation)) + return g_task_propagate_boolean (G_TASK (result), error); iface = G_DRIVE_GET_IFACE (drive); if (iface->eject_with_operation_finish != NULL) @@ -538,10 +542,10 @@ g_drive_poll_for_media (GDrive *drive, if (iface->poll_for_media == NULL) { - g_simple_async_report_error_in_idle (G_OBJECT (drive), callback, user_data, - G_IO_ERROR, G_IO_ERROR_NOT_SUPPORTED, - _("drive doesn't implement polling for media")); - + g_task_report_new_error (drive, callback, user_data, + g_drive_poll_for_media, + G_IO_ERROR, G_IO_ERROR_NOT_SUPPORTED, + _("drive doesn't implement polling for media")); return; } @@ -571,6 +575,8 @@ g_drive_poll_for_media_finish (GDrive *drive, if (g_async_result_legacy_propagate_error (result, error)) return FALSE; + else if (g_async_result_is_tagged (result, g_drive_poll_for_media)) + return g_task_propagate_boolean (G_TASK (result), error); iface = G_DRIVE_GET_IFACE (drive); @@ -741,9 +747,10 @@ g_drive_start (GDrive *drive, if (iface->start == NULL) { - g_simple_async_report_error_in_idle (G_OBJECT (drive), callback, user_data, - G_IO_ERROR, G_IO_ERROR_NOT_SUPPORTED, - _("drive doesn't implement start")); + g_task_report_new_error (drive, callback, user_data, + g_drive_start, + G_IO_ERROR, G_IO_ERROR_NOT_SUPPORTED, + _("drive doesn't implement start")); return; } @@ -775,6 +782,8 @@ g_drive_start_finish (GDrive *drive, if (g_async_result_legacy_propagate_error (result, error)) return FALSE; + else if (g_async_result_is_tagged (result, g_drive_start)) + return g_task_propagate_boolean (G_TASK (result), error); iface = G_DRIVE_GET_IFACE (drive); @@ -840,9 +849,10 @@ g_drive_stop (GDrive *drive, if (iface->stop == NULL) { - g_simple_async_report_error_in_idle (G_OBJECT (drive), callback, user_data, - G_IO_ERROR, G_IO_ERROR_NOT_SUPPORTED, - _("drive doesn't implement stop")); + g_task_report_new_error (drive, callback, user_data, + g_drive_start, + G_IO_ERROR, G_IO_ERROR_NOT_SUPPORTED, + _("drive doesn't implement stop")); return; } @@ -874,6 +884,8 @@ g_drive_stop_finish (GDrive *drive, if (g_async_result_legacy_propagate_error (result, error)) return FALSE; + else if (g_async_result_is_tagged (result, g_drive_start)) + return g_task_propagate_boolean (G_TASK (result), error); iface = G_DRIVE_GET_IFACE (drive); |