Add "default location" support to GMount

The "default location" of the given mount is a path that reflects
the main entry point for the user (e.g. the home directory, or the
root of the volume).

https://bugzilla.gnome.org/show_bug.cgi?id=561998
This commit is contained in:
Christian Kellner 2009-10-09 15:06:44 +02:00 committed by Alexander Larsson
parent 2b2195bf68
commit 09b1b6414b
2 changed files with 34 additions and 0 deletions

View File

@ -184,6 +184,37 @@ g_mount_get_root (GMount *mount)
return (* iface->get_root) (mount);
}
/**
* g_mount_get_default_location:
* @mount: a #GMount.
*
* Gets the default location of @mount. The default location of the given
* @mount is a path that reflects the main entry point for the user (e.g.
* the home directory, or the root of the volume).
*
* Returns: a #GFile.
* The returned object should be unreffed with
* g_object_unref() when no longer needed.
**/
GFile *
g_mount_get_default_location (GMount *mount)
{
GMountIface *iface;
GFile *file;
g_return_val_if_fail (G_IS_MOUNT (mount), NULL);
iface = G_MOUNT_GET_IFACE (mount);
/* Fallback to get_root when default_location () is not available */
if (iface->get_default_location)
file = (* iface->get_default_location) (mount);
else
file = (* iface->get_root) (mount);
return file;
}
/**
* g_mount_get_name:
* @mount: a #GMount.

View File

@ -68,6 +68,7 @@ typedef struct _GMountIface GMountIface;
* @unmount_with_operation_finish: Finishes an unmounting operation using a #GMountOperation. Since 2.22.
* @eject_with_operation: Starts ejecting a #GMount using a #GMountOperation. Since 2.22.
* @eject_with_operation_finish: Finishes an eject operation using a #GMountOperation. Since 2.22.
* @get_default_location: Gets a #GFile indication a start location that can be use as the entry point for this mount. Since 2.24.
*
* Interface for implementing operations for mounts.
**/
@ -154,11 +155,13 @@ struct _GMountIface
gboolean (* eject_with_operation_finish) (GMount *mount,
GAsyncResult *result,
GError **error);
GFile * (* get_default_location) (GMount *mount);
};
GType g_mount_get_type (void) G_GNUC_CONST;
GFile * g_mount_get_root (GMount *mount);
GFile * g_mount_get_default_location (GMount *mount);
char * g_mount_get_name (GMount *mount);
GIcon * g_mount_get_icon (GMount *mount);
char * g_mount_get_uuid (GMount *mount);