[glib] Add a GMount::pre-unmount signal
- From: Matthias Clasen <matthiasc src gnome org>
- To: svn-commits-list gnome org
- Subject: [glib] Add a GMount::pre-unmount signal
- Date: Tue, 5 May 2009 14:46:50 -0400 (EDT)
commit d89cc0d7cbad8b6904931440e579e291ce81780d
Author: Carlos Garnacho <carlos imendio com>
Date: Tue May 5 14:45:18 2009 -0400
Add a GMount::pre-unmount signal
This is the per-mount analogon to GVolumeMonitor::mount-pre-unmount.
---
gio/gmount.c | 16 ++++++++++++++++
gio/gmount.h | 3 +++
gio/gunixmount.c | 2 ++
3 files changed, 21 insertions(+), 0 deletions(-)
diff --git a/gio/gmount.c b/gio/gmount.c
index dbdbeaf..b8c3395 100644
--- a/gio/gmount.c
+++ b/gio/gmount.c
@@ -141,6 +141,22 @@ g_mount_base_init (gpointer g_class)
NULL, NULL,
g_cclosure_marshal_VOID__VOID,
G_TYPE_NONE, 0);
+ /**
+ * GMount::pre-unmount:
+ * @mount: the object on which the signal is emitted
+ *
+ * This signal is emitted when the #GMount is about to be
+ * unmounted.
+ *
+ * Since: 2.22.
+ **/
+ g_signal_new (I_("pre-unmount"),
+ G_TYPE_MOUNT,
+ G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET (GMountIface, pre_unmount),
+ NULL, NULL,
+ g_cclosure_marshal_VOID__VOID,
+ G_TYPE_NONE, 0);
initialized = TRUE;
}
diff --git a/gio/gmount.h b/gio/gmount.h
index 027960d..a1afe2c 100644
--- a/gio/gmount.h
+++ b/gio/gmount.h
@@ -126,6 +126,9 @@ struct _GMountIface
gboolean force_rescan,
GCancellable *cancellable,
GError **error);
+
+ /* yet more signals */
+ void (* pre_unmount) (GMount *mount);
};
GType g_mount_get_type (void) G_GNUC_CONST;
diff --git a/gio/gunixmount.c b/gio/gunixmount.c
index 603c0ba..406c0ce 100644
--- a/gio/gunixmount.c
+++ b/gio/gunixmount.c
@@ -394,6 +394,8 @@ eject_unmount_do (GMount *mount,
if (unix_mount->volume_monitor != NULL)
g_signal_emit_by_name (unix_mount->volume_monitor, "mount-pre-unmount", mount);
+ g_signal_emit_by_name (mount, "pre-unmount", 0);
+
g_timeout_add (500, (GSourceFunc) eject_unmount_do_cb, data);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]