From 49cb04caf0d37d42ab8787739689906df831525f Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 17 Feb 2009 00:02:06 +0000 Subject: [PATCH] Add an "aborted" signal to abort a mount operation from the backend side. * gmountoperation.[hc]: Add an "aborted" signal to abort a mount operation from the backend side. * gvolume.h: Add docs regarding the "aborted" signal. svn path=/trunk/; revision=7866 --- gio/ChangeLog | 7 +++++++ gio/gmountoperation.c | 21 +++++++++++++++++++++ gio/gmountoperation.h | 3 ++- gio/gvolume.h | 5 ++++- 4 files changed, 34 insertions(+), 2 deletions(-) diff --git a/gio/ChangeLog b/gio/ChangeLog index c27397e..23f5379 100644 --- a/gio/ChangeLog +++ b/gio/ChangeLog @@ -1,3 +1,10 @@ +2009-02-16 Matthias Clasen + + * gmountoperation.[hc]: Add an "aborted" signal to abort a + mount operation from the backend side. + + * gvolume.h: Add docs regarding the "aborted" signal. + 2009-02-13 Ryan Lortie Bug 505042 – add file attribute for actually used file size in bytes diff --git a/gio/gmountoperation.c b/gio/gmountoperation.c index 8234b83..0635e75 100644 --- a/gio/gmountoperation.c +++ b/gio/gmountoperation.c @@ -57,6 +57,7 @@ enum { ASK_PASSWORD, ASK_QUESTION, REPLY, + ABORTED, LAST_SIGNAL }; @@ -297,6 +298,26 @@ g_mount_operation_class_init (GMountOperationClass *klass) G_TYPE_MOUNT_OPERATION_RESULT); /** + * GMountOperation::aborted: + * + * Emitted by the backend when e.g. a device becomes unavailable + * while a mount operation is in progress. + * + * Implementations of GMountOperation should handle this signal + * by dismissing open password dialogs. + * + * Since: 2.20 + */ + signals[ABORTED] = + g_signal_new (I_("aborted"), + G_TYPE_FROM_CLASS (object_class), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET (GMountOperationClass, aborted), + NULL, NULL, + g_cclosure_marshal_VOID__VOID, + G_TYPE_NONE, 0); + + /** * GMountOperation:username: * * The user name that is used for authentication when carrying out diff --git a/gio/gmountoperation.h b/gio/gmountoperation.h index 6c3029d..e6ba51a 100644 --- a/gio/gmountoperation.h +++ b/gio/gmountoperation.h @@ -73,6 +73,8 @@ struct _GMountOperationClass void (* reply) (GMountOperation *op, GMountOperationResult result); + void (* aborted) (GMountOperation *op); + /*< private >*/ /* Padding for future expansion */ void (*_g_reserved1) (void); @@ -86,7 +88,6 @@ struct _GMountOperationClass void (*_g_reserved9) (void); void (*_g_reserved10) (void); void (*_g_reserved11) (void); - void (*_g_reserved12) (void); }; GType g_mount_operation_get_type (void) G_GNUC_CONST; diff --git a/gio/gvolume.h b/gio/gvolume.h index 640c42f..f81faad 100644 --- a/gio/gvolume.h +++ b/gio/gvolume.h @@ -85,7 +85,10 @@ G_BEGIN_DECLS * @get_mount: Gets a #GMount representing the mounted volume. Returns %NULL if the #GVolume is not mounted. * @can_mount: Returns %TRUE if the #GVolume can be mounted. * @can_eject: Checks if a #GVolume can be ejected. - * @mount_fn: Mounts a given #GVolume. + * @mount_fn: Mounts a given #GVolume. + * #GVolume implementations must emit the #GMountOperation::aborted + * signal before completing a mount operation that is aborted while + * awaiting input from the user through a #GMountOperation instance. * @mount_finish: Finishes a mount operation. * @eject: Ejects a given #GVolume. * @eject_finish: Finishes an eject operation. -- 2.7.4