summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Clasen <matthiasc@src.gnome.org>2009-02-17 00:02:06 +0000
committerMatthias Clasen <matthiasc@src.gnome.org>2009-02-17 00:02:06 +0000
commit49cb04caf0d37d42ab8787739689906df831525f (patch)
treef33d05c44056063e6ba572d5ddc4f69775912ad9
parente8c635841a74b58fd73f9a55d8116ebddb7e74e0 (diff)
downloadglib-49cb04caf0d37d42ab8787739689906df831525f.tar.gz
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
-rw-r--r--gio/ChangeLog7
-rw-r--r--gio/gmountoperation.c21
-rw-r--r--gio/gmountoperation.h3
-rw-r--r--gio/gvolume.h5
4 files changed, 34 insertions, 2 deletions
diff --git a/gio/ChangeLog b/gio/ChangeLog
index c27397ea6..23f537935 100644
--- a/gio/ChangeLog
+++ b/gio/ChangeLog
@@ -1,3 +1,10 @@
+2009-02-16 Matthias Clasen <mclasen@redhat.com>
+
+ * 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 <desrt@desrt.ca>
Bug 505042 – add file attribute for actually used file size in bytes
diff --git a/gio/gmountoperation.c b/gio/gmountoperation.c
index 8234b8315..0635e7594 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 6c3029dc8..e6ba51a9c 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 640c42fd0..f81faad2e 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.