Index: gio/gmount.c
===================================================================
--- gio/gmount.c	(Revision 7110)
+++ gio/gmount.c	(Arbeitskopie)
@@ -162,6 +162,29 @@ g_mount_get_root (GMount *mount)
 }
 
 /**
+ * g_mount_get_home:
+ * @mount: a #GMount.
+ * 
+ * Gets the home directory on @mount, or %NULL.
+ * 
+ * Returns: a #GFile.
+ **/
+GFile *
+g_mount_get_home (GMount *mount)
+{
+  GMountIface *iface;
+
+  g_return_val_if_fail (G_IS_MOUNT (mount), NULL);
+
+  iface = G_MOUNT_GET_IFACE (mount);
+
+  if (iface->get_home != NULL)
+    return (* iface->get_home) (mount);
+
+  return NULL;
+}
+
+/**
  * g_mount_get_name:
  * @mount: a #GMount.
  * 
Index: gio/gmount.h
===================================================================
--- gio/gmount.h	(Revision 7110)
+++ gio/gmount.h	(Arbeitskopie)
@@ -74,6 +74,7 @@ typedef struct _GMountIface    GMountIfa
  * @eject_finish: Finishes an eject operation.
  * @remount: Starts remounting a #GMount.
  * @remount_finish: Finishes a remounting operation.
+ * @get_root: Gets a #GFile to the home directory on the #GMount, or %NULL.
  * 
  * Interface for implementing operations for mounts.
  **/
@@ -121,11 +122,13 @@ struct _GMountIface
   gboolean           (*remount_finish)       (GMount         *mount,
                                               GAsyncResult    *result,
                                               GError         **error);
+  GFile *            (*get_home)             (GMount         *mount);
 };
 
 GType g_mount_get_type (void) G_GNUC_CONST;
 
 GFile *            g_mount_get_root             (GMount              *mount);
+GFile *            g_mount_get_home             (GMount              *mount);
 char *             g_mount_get_name             (GMount              *mount);
 GIcon *            g_mount_get_icon             (GMount              *mount);
 char *             g_mount_get_uuid             (GMount              *mount);
