mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-01-27 14:36:16 +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);
|
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:
|
* g_mount_get_name:
|
||||||
* @mount: a #GMount.
|
* @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.
|
* @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: Starts ejecting a #GMount using a #GMountOperation. Since 2.22.
|
||||||
* @eject_with_operation_finish: Finishes an eject operation 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.
|
* Interface for implementing operations for mounts.
|
||||||
**/
|
**/
|
||||||
@ -154,11 +155,13 @@ struct _GMountIface
|
|||||||
gboolean (* eject_with_operation_finish) (GMount *mount,
|
gboolean (* eject_with_operation_finish) (GMount *mount,
|
||||||
GAsyncResult *result,
|
GAsyncResult *result,
|
||||||
GError **error);
|
GError **error);
|
||||||
|
GFile * (* get_default_location) (GMount *mount);
|
||||||
};
|
};
|
||||||
|
|
||||||
GType g_mount_get_type (void) G_GNUC_CONST;
|
GType g_mount_get_type (void) G_GNUC_CONST;
|
||||||
|
|
||||||
GFile * g_mount_get_root (GMount *mount);
|
GFile * g_mount_get_root (GMount *mount);
|
||||||
|
GFile * g_mount_get_default_location (GMount *mount);
|
||||||
char * g_mount_get_name (GMount *mount);
|
char * g_mount_get_name (GMount *mount);
|
||||||
GIcon * g_mount_get_icon (GMount *mount);
|
GIcon * g_mount_get_icon (GMount *mount);
|
||||||
char * g_mount_get_uuid (GMount *mount);
|
char * g_mount_get_uuid (GMount *mount);
|
||||||
|
Loading…
Reference in New Issue
Block a user