glib/gio
David Zeuthen 3ca9fd4dbb Rework how volumes, drives and volume monitoring is done. Previosly the
2007-12-11  David Zeuthen  <davidz@redhat.com>

	Rework how volumes, drives and volume monitoring is
	done. Previosly the model was

	 GDrive <1-1> GVolume

	where a GDrive instance represented a mount point and a GVolume
	instance represented a mounted file system. This patch changes it
	the model to

		GDrive <1-N> GVolume <1-1> GMount

	where GMount now serves the purpose of the old GVolume and the new
	GVolume serves the purpose of the old GDrive. In addition the new
	GDrive interface is used to represent a collection of GVolume
	instances (typically partitions) and also contains utility to query
	the state of the physical drive the GDrive object represents (such
	as checking for media, polling the drive, ejecting the media etc.).

	Also implement mounting and unmounting in the Unix volume monitor
	backend. A subquent patch will introduce GDrive support for ejection
	of media.

	* Makefile.am:
	* gdrive.c: (g_drive_is_media_check_automatic),
	(g_drive_is_media_removable), (g_drive_has_media),
	(g_drive_can_poll_for_media), (g_drive_eject),
	(g_drive_eject_finish), (g_drive_poll_for_media),
	(g_drive_poll_for_media_finish):
	* gdrive.h:
	* gfile.c: (g_file_find_enclosing_mount):
	* gfile.h:
	* gio.symbols:
	* glocaldirectorymonitor.c:
	(g_local_directory_monitor_constructor), (mounts_changed):
	* glocalfile.c: (get_mount_info),
	(g_local_file_find_enclosing_mount),
	(g_local_file_file_iface_init):
	* gnativevolumemonitor.h:
	* gunionvolumemonitor.c: (get_mounts), (get_volumes),
	(get_connected_drives), (g_union_volume_monitor_class_init),
	(child_volume_added), (child_volume_removed),
	(child_volume_changed), (child_mount_added), (child_mount_removed),
	(child_mount_pre_unmount), (child_mount_changed),
	(child_drive_changed), (g_union_volume_monitor_add_monitor),
	(g_union_volume_monitor_remove_monitor),
	(_g_mount_get_for_mount_path):
	* gunixmounts.c: (g_unix_is_mount_path_system_internal),
	(guess_system_internal), (_g_get_unix_mounts),
	(_g_get_unix_mount_points), (g_get_unix_mount_at),
	(g_unix_mount_free), (g_unix_mount_compare),
	(g_unix_mount_get_mount_path), (g_unix_mount_get_device_path),
	(g_unix_mount_get_fs_type), (g_unix_mount_is_readonly),
	(g_unix_mount_is_system_internal), (g_unix_mount_guess_type),
	(type_to_icon), (g_unix_mount_guess_name),
	(g_unix_mount_guess_icon), (g_unix_mount_point_guess_name),
	(g_unix_mount_point_guess_icon), (_canonicalize_filename),
	(_resolve_symlink), (_resolve_dev_root):
	* gunixmounts.h:
	* gunixvolume.c: (g_unix_volume_finalize), (_g_unix_volume_new),
	(_g_unix_volume_disconnected), (_g_unix_volume_set_mount),
	(_g_unix_volume_unset_mount), (g_unix_volume_get_icon),
	(g_unix_volume_get_name), (g_unix_volume_can_mount),
	(g_unix_volume_get_drive), (g_unix_volume_get_mount),
	(_g_unix_volume_has_mount_path), (mount_cb), (mount_read_error),
	(g_unix_volume_mount), (g_unix_volume_mount_finish),
	(g_unix_volume_volume_iface_init):
	* gunixvolume.h:
	* gunixvolumemonitor.c: (g_unix_volume_monitor_finalize),
	(get_mounts), (get_volumes), (get_connected_drives),
	(get_mount_for_mount_path), (g_unix_volume_monitor_class_init),
	(mountpoints_changed), (mounts_changed),
	(g_unix_volume_monitor_init),
	(_g_unix_volume_monitor_lookup_volume_for_mount_path),
	(find_mount_by_mountpath), (update_volumes), (update_mounts):
	* gunixvolumemonitor.h:
	* gvolume.c: (g_volume_get_mount), (g_volume_can_mount),
	(g_volume_mount), (g_volume_mount_finish):
	* gvolume.h:
	* gvolumemonitor.c: (g_volume_monitor_class_init),
	(g_volume_monitor_get_connected_drives),
	(g_volume_monitor_get_volumes), (g_volume_monitor_get_mounts):
	* gvolumemonitor.h:


svn path=/trunk/; revision=6095
2007-12-11 21:23:55 +00:00
..
fam Added. Added. Added. Added. 2007-11-28 12:39:07 +00:00
inotify Don't export the inotify lock 2007-11-29 03:39:01 +00:00
xdgmime Added. Added. Added. Added. 2007-11-28 12:39:07 +00:00
abicheck.sh Fix copy-and-paste leftovers 2007-11-28 18:45:08 +00:00
ChangeLog Rework how volumes, drives and volume monitoring is done. Previosly the 2007-12-11 21:23:55 +00:00
gappinfo.c Fixes unknown meaning in GAppLaunchContext docs. Clarify asynchronous ops. 2007-11-29 10:18:55 +00:00
gappinfo.h Templates for enum registration 2007-12-01 01:53:00 +00:00
gasynchelper.c http://mail.gnome.org/archives/gtk-devel-list/2007-October/msg00089.html 2007-12-10 14:07:42 +00:00
gasynchelper.h gio/ docs/reference/gio Merged gio-standalone into glib. 2007-11-26 16:13:05 +00:00
gasyncresult.c More doc improvements 2007-11-29 20:35:23 +00:00
gasyncresult.h Bumps documentation to 93% symbol coverage, touching most 2007-11-27 14:00:13 +00:00
gbufferedinputstream.c http://mail.gnome.org/archives/gtk-devel-list/2007-October/msg00089.html 2007-12-10 14:07:42 +00:00
gbufferedinputstream.h Bumps documentation to 93% symbol coverage, touching most 2007-11-27 14:00:13 +00:00
gbufferedoutputstream.c http://mail.gnome.org/archives/gtk-devel-list/2007-October/msg00089.html 2007-12-10 14:07:42 +00:00
gbufferedoutputstream.h Bumps documentation to 93% symbol coverage, touching most 2007-11-27 14:00:13 +00:00
gcancellable.c http://mail.gnome.org/archives/gtk-devel-list/2007-October/msg00089.html 2007-12-10 14:07:42 +00:00
gcancellable.h Bumps documentation to 93% symbol coverage, touching most 2007-11-27 14:00:13 +00:00
gcontenttype.c [start of port to win32/msvc] HAVE_UNIST_H and _pipe() only include 2007-12-03 22:37:44 +00:00
gcontenttype.h gio/ docs/reference/gio Merged gio-standalone into glib. 2007-11-26 16:13:05 +00:00
gcontenttypeprivate.h gio/ docs/reference/gio Merged gio-standalone into glib. 2007-11-26 16:13:05 +00:00
gdatainputstream.c http://mail.gnome.org/archives/gtk-devel-list/2007-October/msg00089.html 2007-12-10 14:07:42 +00:00
gdatainputstream.h Clean up some docs 2007-11-28 04:29:02 +00:00
gdataoutputstream.c Some more property work 2007-12-01 06:12:45 +00:00
gdataoutputstream.h Added. Added. Added. Added. 2007-11-28 12:39:07 +00:00
gdesktopappinfo.c Install gdesktopappinfo as unix-specific api 2007-12-10 18:51:21 +00:00
gdesktopappinfo.h Install gdesktopappinfo as unix-specific api 2007-12-10 18:51:21 +00:00
gdirectorymonitor.c Some more property work 2007-12-01 06:12:45 +00:00
gdirectorymonitor.h Bumps documentation to 93% symbol coverage, touching most 2007-11-27 14:00:13 +00:00
gdrive.c Rework how volumes, drives and volume monitoring is done. Previosly the 2007-12-11 21:23:55 +00:00
gdrive.h Rework how volumes, drives and volume monitoring is done. Previosly the 2007-12-11 21:23:55 +00:00
gdummyfile.c http://mail.gnome.org/archives/gtk-devel-list/2007-October/msg00089.html 2007-12-10 14:07:42 +00:00
gdummyfile.h Removed unnecessary file 2007-11-28 16:01:59 +00:00
gfile.c Rework how volumes, drives and volume monitoring is done. Previosly the 2007-12-11 21:23:55 +00:00
gfile.h Rework how volumes, drives and volume monitoring is done. Previosly the 2007-12-11 21:23:55 +00:00
gfileattribute.c More documentation cleanup and filling in missing information, bringing 2007-12-09 15:51:12 +00:00
gfileattribute.h Bumps documentation to 93% symbol coverage, touching most 2007-11-27 14:00:13 +00:00
gfileenumerator.c http://mail.gnome.org/archives/gtk-devel-list/2007-October/msg00089.html 2007-12-10 14:07:42 +00:00
gfileenumerator.h Rename all struct members named: read, write, close, truncate, or mount to 2007-12-05 10:38:03 +00:00
gfileicon.c http://mail.gnome.org/archives/gtk-devel-list/2007-October/msg00089.html 2007-12-10 14:07:42 +00:00
gfileicon.h Bumps documentation to 93% symbol coverage, touching most 2007-11-27 14:00:13 +00:00
gfileinfo.c Add docs for etags 2007-11-30 18:11:03 +00:00
gfileinfo.h More trivial doc fixes 2007-11-28 06:01:13 +00:00
gfileinputstream.c http://mail.gnome.org/archives/gtk-devel-list/2007-October/msg00089.html 2007-12-10 14:07:42 +00:00
gfileinputstream.h Bumps documentation to 93% symbol coverage, touching most 2007-11-27 14:00:13 +00:00
gfilemonitor.c Some more property work 2007-12-01 06:12:45 +00:00
gfilemonitor.h Bumps documentation to 93% symbol coverage, touching most 2007-11-27 14:00:13 +00:00
gfilenamecompleter.c Added. Added. Added. Added. 2007-11-28 12:39:07 +00:00
gfilenamecompleter.h Bumps documentation to 93% symbol coverage, touching most 2007-11-27 14:00:13 +00:00
gfileoutputstream.c http://mail.gnome.org/archives/gtk-devel-list/2007-October/msg00089.html 2007-12-10 14:07:42 +00:00
gfileoutputstream.h Rename all struct members named: read, write, close, truncate, or mount to 2007-12-05 10:38:03 +00:00
gfilterinputstream.c Rename all struct members named: read, write, close, truncate, or mount to 2007-12-05 10:38:03 +00:00
gfilterinputstream.h Bumps documentation to 93% symbol coverage, touching most 2007-11-27 14:00:13 +00:00
gfilteroutputstream.c Rename all struct members named: read, write, close, truncate, or mount to 2007-12-05 10:38:03 +00:00
gfilteroutputstream.h Bumps documentation to 93% symbol coverage, touching most 2007-11-27 14:00:13 +00:00
gicon.c Doc improvements 2007-12-01 04:38:29 +00:00
gicon.h Bumps documentation to 93% symbol coverage, touching most 2007-11-27 14:00:13 +00:00
ginputstream.c http://mail.gnome.org/archives/gtk-devel-list/2007-October/msg00089.html 2007-12-10 14:07:42 +00:00
ginputstream.h Rename all struct members named: read, write, close, truncate, or mount to 2007-12-05 10:38:03 +00:00
gio-marshal.list gio/ docs/reference/gio Merged gio-standalone into glib. 2007-11-26 16:13:05 +00:00
gio.h Templates for enum registration 2007-12-01 01:53:00 +00:00
gio.symbols Rework how volumes, drives and volume monitoring is done. Previosly the 2007-12-11 21:23:55 +00:00
gioenumtypes.c.template Fix typo. 2007-12-01 23:49:34 +00:00
gioenumtypes.h.template Templates for enum registration 2007-12-01 01:53:00 +00:00
gioerror.c More documentation cleanup and filling in missing information, bringing 2007-12-09 15:51:12 +00:00
gioerror.h Bumps documentation to 93% symbol coverage, touching most 2007-11-27 14:00:13 +00:00
giomodule-priv.h Added. 2007-12-05 11:10:21 +00:00
giomodule.c Fix warnings 2007-12-05 11:05:49 +00:00
giomodule.h Fix warnings 2007-12-05 11:05:49 +00:00
gioscheduler.c More documentation cleanup and filling in missing information, bringing 2007-12-09 15:51:12 +00:00
gioscheduler.h More documentation cleanup and filling in missing information, bringing 2007-12-09 15:51:12 +00:00
gloadableicon.c http://mail.gnome.org/archives/gtk-devel-list/2007-October/msg00089.html 2007-12-10 14:07:42 +00:00
gloadableicon.h Bumps documentation to 93% symbol coverage, touching most 2007-11-27 14:00:13 +00:00
glocaldirectorymonitor.c Rework how volumes, drives and volume monitoring is done. Previosly the 2007-12-11 21:23:55 +00:00
glocaldirectorymonitor.h Removed unnecessary file 2007-11-28 16:01:59 +00:00
glocalfile.c Rework how volumes, drives and volume monitoring is done. Previosly the 2007-12-11 21:23:55 +00:00
glocalfile.h Removed unnecessary file 2007-11-28 16:01:59 +00:00
glocalfileenumerator.c Avoid warning spew if error == NULL 2007-12-07 11:47:31 +00:00
glocalfileenumerator.h Removed unnecessary file 2007-11-28 16:01:59 +00:00
glocalfileinfo.c http://mail.gnome.org/archives/gtk-devel-list/2007-October/msg00089.html 2007-12-10 14:07:42 +00:00
glocalfileinfo.h Include sys/types.h for dev_t (#501919) 2007-12-06 09:33:59 +00:00
glocalfileinputstream.c [gio compiles and links on win32, not sure how much already works] ifdefed 2007-12-08 12:01:06 +00:00
glocalfileinputstream.h Removed unnecessary file 2007-11-28 16:01:59 +00:00
glocalfilemonitor.c http://mail.gnome.org/archives/gtk-devel-list/2007-October/msg00089.html 2007-12-10 14:07:42 +00:00
glocalfilemonitor.h Removed unnecessary file 2007-11-28 16:01:59 +00:00
glocalfileoutputstream.c [gio compiles and links on win32, not sure how much already works] ifdefed 2007-12-08 12:01:06 +00:00
glocalfileoutputstream.h Removed unnecessary file 2007-11-28 16:01:59 +00:00
glocalvfs.c [start of port to win32/msvc] HAVE_UNIST_H and _pipe() only include 2007-12-03 22:37:44 +00:00
glocalvfs.h Removed unnecessary file 2007-11-28 16:01:59 +00:00
gmemoryinputstream.c http://mail.gnome.org/archives/gtk-devel-list/2007-October/msg00089.html 2007-12-10 14:07:42 +00:00
gmemoryinputstream.h Bumps documentation to 93% symbol coverage, touching most 2007-11-27 14:00:13 +00:00
gmemoryoutputstream.c http://mail.gnome.org/archives/gtk-devel-list/2007-October/msg00089.html 2007-12-10 14:07:42 +00:00
gmemoryoutputstream.h Bumps documentation to 93% symbol coverage, touching most 2007-11-27 14:00:13 +00:00
gmount.c Rework how volumes, drives and volume monitoring is done. Previosly the 2007-12-11 21:23:55 +00:00
gmount.h Rework how volumes, drives and volume monitoring is done. Previosly the 2007-12-11 21:23:55 +00:00
gmountoperation.c Some more property work 2007-12-01 06:12:45 +00:00
gmountoperation.h Close the gap 2007-12-10 18:54:24 +00:00
gmountprivate.h Rework how volumes, drives and volume monitoring is done. Previosly the 2007-12-11 21:23:55 +00:00
gnativevolumemonitor.c Removed unnecessary file 2007-11-28 16:01:59 +00:00
gnativevolumemonitor.h Rework how volumes, drives and volume monitoring is done. Previosly the 2007-12-11 21:23:55 +00:00
goutputstream.c http://mail.gnome.org/archives/gtk-devel-list/2007-October/msg00089.html 2007-12-10 14:07:42 +00:00
goutputstream.h More documentation cleanup and filling in missing information, bringing 2007-12-09 15:51:12 +00:00
gpollfilemonitor.c More coding style fixes 2007-11-30 05:11:25 +00:00
gpollfilemonitor.h Removed unnecessary file 2007-11-28 16:01:59 +00:00
gseekable.c Rename all struct members named: read, write, close, truncate, or mount to 2007-12-05 10:38:03 +00:00
gseekable.h Rename all struct members named: read, write, close, truncate, or mount to 2007-12-05 10:38:03 +00:00
gsimpleasyncresult.c More documentation cleanup and filling in missing information, bringing 2007-12-09 15:51:12 +00:00
gsimpleasyncresult.h Make this take a GError and return a gboolean, and do the "outstanding 2007-12-04 08:57:04 +00:00
gthemedicon.c Doc improvements 2007-12-01 04:38:29 +00:00
gthemedicon.h Bumps documentation to 93% symbol coverage, touching most 2007-11-27 14:00:13 +00:00
gunionvolumemonitor.c Rework how volumes, drives and volume monitoring is done. Previosly the 2007-12-11 21:23:55 +00:00
gunionvolumemonitor.h Rework how volumes, drives and volume monitoring is done. Previosly the 2007-12-11 21:23:55 +00:00
gunixinputstream.c http://mail.gnome.org/archives/gtk-devel-list/2007-October/msg00089.html 2007-12-10 14:07:42 +00:00
gunixinputstream.h Removed. Removed. Added. Added. Renamed GSocket*Stream to GUnix*Stream and 2007-11-27 15:08:03 +00:00
gunixmount.c Rework how volumes, drives and volume monitoring is done. Previosly the 2007-12-11 21:23:55 +00:00
gunixmount.h Rework how volumes, drives and volume monitoring is done. Previosly the 2007-12-11 21:23:55 +00:00
gunixmounts.c Rework how volumes, drives and volume monitoring is done. Previosly the 2007-12-11 21:23:55 +00:00
gunixmounts.h Rework how volumes, drives and volume monitoring is done. Previosly the 2007-12-11 21:23:55 +00:00
gunixoutputstream.c http://mail.gnome.org/archives/gtk-devel-list/2007-October/msg00089.html 2007-12-10 14:07:42 +00:00
gunixoutputstream.h Removed. Removed. Added. Added. Renamed GSocket*Stream to GUnix*Stream and 2007-11-27 15:08:03 +00:00
gunixvolume.c Rework how volumes, drives and volume monitoring is done. Previosly the 2007-12-11 21:23:55 +00:00
gunixvolume.h Rework how volumes, drives and volume monitoring is done. Previosly the 2007-12-11 21:23:55 +00:00
gunixvolumemonitor.c Rework how volumes, drives and volume monitoring is done. Previosly the 2007-12-11 21:23:55 +00:00
gunixvolumemonitor.h Rework how volumes, drives and volume monitoring is done. Previosly the 2007-12-11 21:23:55 +00:00
gvfs.c Added. 2007-12-05 11:10:21 +00:00
gvfs.h Added. Added. Added. Added. 2007-11-28 12:39:07 +00:00
gvolume.c Rework how volumes, drives and volume monitoring is done. Previosly the 2007-12-11 21:23:55 +00:00
gvolume.h Rework how volumes, drives and volume monitoring is done. Previosly the 2007-12-11 21:23:55 +00:00
gvolumemonitor.c Rework how volumes, drives and volume monitoring is done. Previosly the 2007-12-11 21:23:55 +00:00
gvolumemonitor.h Rework how volumes, drives and volume monitoring is done. Previosly the 2007-12-11 21:23:55 +00:00
gwin32appinfo.c [gio compiles and links on win32, not sure how much already works] ifdefed 2007-12-08 12:01:06 +00:00
gwin32appinfo.h gio/ docs/reference/gio Merged gio-standalone into glib. 2007-11-26 16:13:05 +00:00
Makefile.am Rework how volumes, drives and volume monitoring is done. Previosly the 2007-12-11 21:23:55 +00:00
makefile.msc follow lib naming convention working implementation for user and group 2007-12-09 22:10:40 +00:00
makegioalias.pl Added. Added. Added. Added. 2007-11-28 12:39:07 +00:00
pltcheck.sh http://mail.gnome.org/archives/gtk-devel-list/2007-October/msg00089.html 2007-12-10 14:07:42 +00:00