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:
David Zeuthen
2009-07-05 21:59:38 -04:00
committed by Matthias Clasen
parent c85ff0c750
commit 99a1c47343
16 changed files with 1027 additions and 45 deletions

View File

@@ -83,9 +83,11 @@ INCLUDES = \
-I$(top_srcdir) \
-I$(top_srcdir)/glib \
-I$(top_srcdir)/gobject \
-I$(top_srcdir)/gio \
-I$(top_builddir) \
-I$(top_builddir)/glib \
-I$(top_builddir)/gobject \
-I$(top_builddir)/gio \
$(GLIB_DEBUG_FLAGS)
GTKDOC_LIBS = \

View File

@@ -24,8 +24,8 @@
<xi:include href="xml/gfileattribute.xml"/>
<xi:include href="xml/gfileinfo.xml"/>
<xi:include href="xml/gfileenumerator.xml"/>
<xi:include href="xml/gmountoperation.xml"/>
<xi:include href="xml/gioerror.xml"/>
<xi:include href="xml/gmountoperation.xml"/>
</chapter>
<chapter id="file_mon">
<title>File System Monitoring</title>
@@ -145,6 +145,9 @@
<index>
<title id="index-all">Index</title>
</index>
<index role="deprecated">
<title>Index of deprecated symbols</title>
</index>
<index role="2.18">
<title>Index of new symbols in 2.18</title>
</index>

View File

@@ -149,12 +149,18 @@ g_file_mount_mountable
g_file_mount_mountable_finish
g_file_unmount_mountable
g_file_unmount_mountable_finish
g_file_unmount_mountable_with_operation
g_file_unmount_mountable_with_operation_finish
g_file_eject_mountable
g_file_eject_mountable_finish
g_file_eject_mountable_with_operation
g_file_eject_mountable_with_operation_finish
g_file_start_mountable
g_file_start_mountable_finish
g_file_stop_mountable
g_file_stop_mountable_finish
g_file_poll_mountable
g_file_poll_mountable_finish
g_file_mount_enclosing_volume
g_file_mount_enclosing_volume_finish
g_file_monitor_directory
@@ -249,8 +255,12 @@ G_FILE_ATTRIBUTE_MOUNTABLE_CAN_MOUNT
G_FILE_ATTRIBUTE_MOUNTABLE_CAN_UNMOUNT
G_FILE_ATTRIBUTE_MOUNTABLE_CAN_EJECT
G_FILE_ATTRIBUTE_MOUNTABLE_UNIX_DEVICE
G_FILE_ATTRIBUTE_MOUNTABLE_UNIX_DEVICE_FILE
G_FILE_ATTRIBUTE_MOUNTABLE_HAL_UDI
G_FILE_ATTRIBUTE_MOUNTABLE_CAN_POLL
G_FILE_ATTRIBUTE_MOUNTABLE_IS_MEDIA_CHECK_AUTOMATIC
G_FILE_ATTRIBUTE_MOUNTABLE_CAN_START
G_FILE_ATTRIBUTE_MOUNTABLE_CAN_START_DEGRADED
G_FILE_ATTRIBUTE_MOUNTABLE_CAN_STOP
G_FILE_ATTRIBUTE_MOUNTABLE_START_STOP_TYPE
G_FILE_ATTRIBUTE_TIME_MODIFIED
@@ -970,11 +980,15 @@ GMountMountFlags
GMountUnmountFlags
g_mount_unmount
g_mount_unmount_finish
g_mount_unmount_with_operation
g_mount_unmount_with_operation_finish
g_mount_remount
g_mount_remount_finish
g_mount_can_eject
g_mount_eject
g_mount_eject_finish
g_mount_eject_with_operation
g_mount_eject_with_operation_finish
g_mount_guess_content_type
g_mount_guess_content_type_finish
g_mount_guess_content_type_sync
@@ -1008,6 +1022,8 @@ g_volume_mount_finish
g_volume_can_eject
g_volume_eject
g_volume_eject_finish
g_volume_eject_with_operation
g_volume_eject_with_operation_finish
G_VOLUME_IDENTIFIER_KIND_HAL_UDI
G_VOLUME_IDENTIFIER_KIND_LABEL
G_VOLUME_IDENTIFIER_KIND_NFS_MOUNT
@@ -1038,6 +1054,7 @@ g_drive_get_volumes
g_drive_can_eject
g_drive_get_start_stop_type
g_drive_can_start
g_drive_can_start_degraded
g_drive_can_stop
g_drive_can_poll_for_media
g_drive_poll_for_media
@@ -1047,6 +1064,8 @@ g_drive_is_media_check_automatic
g_drive_is_media_removable
g_drive_eject
g_drive_eject_finish
g_drive_eject_with_operation
g_drive_eject_with_operation_finish
g_drive_start
g_drive_start_finish
g_drive_stop