mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-08-02 07:23:41 +02:00
Allow interaction when unmounting mounts
For details, see bug 587482. The new api: - Provide new _with_operation() variants of all unmount and eject methods - Add GMountOperation::show-processes signal - this can be used to show processes blocking an unmount operation - Deprecate all unmount and eject methods - Add g_drive_can_start_degraded() method - this is to avoid auto-starting degraded drives - Make g_drive_stop() resp. g_file_stop_mountable() take a GMountOperation - these ops were recently added and not yet public API so it's fine to change how they work - Provide a way to poll mountable files, e.g. g_file_poll_mountable() - Add some missing file attributes for mountable files - G_FILE_ATTRIBUTE_MOUNTABLE_UNIX_DEVICE_FILE - needed for the GDU Nautilus extensions to format a volume - G_FILE_ATTRIBUTE_MOUNTABLE_CAN_START_DEGRADED: - mimics g_drive_can_start_degraded() - G_FILE_ATTRIBUTE_MOUNTABLE_CAN_POLL: - mimics g_drive_can_poll_for_media() - G_FILE_ATTRIBUTE_MOUNTABLE_IS_MEDIA_CHECK_AUTOMATIC - mimics g_drive_is_media_check_automatic()
This commit is contained in:
committed by
Matthias Clasen
parent
c85ff0c750
commit
99a1c47343
@@ -99,6 +99,8 @@ G_BEGIN_DECLS
|
||||
* @should_automount: Returns %TRUE if the #GVolume should be automatically mounted.
|
||||
* @get_activation_root: Returns the activation root for the #GVolume if it is known in advance or %NULL if
|
||||
* it is not known.
|
||||
* @eject_with_operation: Starts ejecting a #GVolume using a #GMountOperation. Since 2.22.
|
||||
* @eject_with_operation_finish: Finishes an eject operation using a #GMountOperation. Since 2.22.
|
||||
*
|
||||
* Interface for implementing operations for mountable volumes.
|
||||
**/
|
||||
@@ -148,6 +150,15 @@ struct _GVolumeIface
|
||||
|
||||
GFile * (* get_activation_root) (GVolume *volume);
|
||||
|
||||
void (* eject_with_operation) (GVolume *volume,
|
||||
GMountUnmountFlags flags,
|
||||
GMountOperation *mount_operation,
|
||||
GCancellable *cancellable,
|
||||
GAsyncReadyCallback callback,
|
||||
gpointer user_data);
|
||||
gboolean (* eject_with_operation_finish) (GVolume *volume,
|
||||
GAsyncResult *result,
|
||||
GError **error);
|
||||
};
|
||||
|
||||
GType g_volume_get_type (void) G_GNUC_CONST;
|
||||
@@ -169,6 +180,7 @@ void g_volume_mount (GVolume *volume,
|
||||
gboolean g_volume_mount_finish (GVolume *volume,
|
||||
GAsyncResult *result,
|
||||
GError **error);
|
||||
#ifndef G_DISABLE_DEPRECATED
|
||||
void g_volume_eject (GVolume *volume,
|
||||
GMountUnmountFlags flags,
|
||||
GCancellable *cancellable,
|
||||
@@ -177,12 +189,23 @@ void g_volume_eject (GVolume *volume,
|
||||
gboolean g_volume_eject_finish (GVolume *volume,
|
||||
GAsyncResult *result,
|
||||
GError **error);
|
||||
#endif
|
||||
char * g_volume_get_identifier (GVolume *volume,
|
||||
const char *kind);
|
||||
char ** g_volume_enumerate_identifiers (GVolume *volume);
|
||||
|
||||
GFile * g_volume_get_activation_root (GVolume *volume);
|
||||
|
||||
void g_volume_eject_with_operation (GVolume *volume,
|
||||
GMountUnmountFlags flags,
|
||||
GMountOperation *mount_operation,
|
||||
GCancellable *cancellable,
|
||||
GAsyncReadyCallback callback,
|
||||
gpointer user_data);
|
||||
gboolean g_volume_eject_with_operation_finish (GVolume *volume,
|
||||
GAsyncResult *result,
|
||||
GError **error);
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
#endif /* __G_VOLUME_H__ */
|
||||
|
Reference in New Issue
Block a user