mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-11-09 19:06:15 +01:00
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:
parent
2b2195bf68
commit
09b1b6414b
31
gio/gmount.c
31
gio/gmount.c
@ -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.
|
||||
|
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user