Re: GVolume



On Sat, 2007-12-29 at 14:43 +0100, Mikael Hermansson wrote:
> I tried to figure out how the GIO's GVolume[Monitor] API works.
> 
> It seems broken or maybe its HAL thats is buggy or maybe its me that is
> buggy and dont understand how it should work ;-)
> 
> My mtab has this mountpoints: (unrelated "system /proc etc..." has been
> removed)
> 
> /dev/sda7 / ext3 rw 0 0
> /dev/sda5 /home ext3 rw 0 0
> /dev/sda8 /usr/local ext3 rw 0 0
> 
> But the only that shows up in GIO is /usr/local (/dev/sda8)???

GVolumeMonitor is not an exact mapping of the unix mtab. If you want
that there is some unix specific APIs in gio-unix.

GVolumeMonitor is for listing the "user interesting" devices and volumes
on the computer. In other words, what a file selector or file manager
would show in a sidebar. Now, since unix APIs for these kinds of things
are pretty sucky its not always possible to make the correct decisions,
but the intent is that:

GDrive - this represent a piece of hardware connected to the machine.
Its generally only created for removable hardware or hardware with
removable media (but then again, unix APIs here suck, so its hard to
detect things like this). Not all volumes have a corresponding drive.

GVolume - something that can be mounted an contains a filesystem. In
general this is a partition (although this might not be true for e.g.
some kinds of remote volumes). volumes can be stored on a drive, or be
stand alone. There might be several volumes on a drive.

GMount - a "mounted" filesystem that you can access. Mounted is in
quotes because its not the same as a unix mount, it might be a gvfs
mount, but you can still access the files on it if you use GIO. Might or
might not be related to a volume object (you might have mounted
something that is somehow not visible when enumerating volumes).

For unix, we never create volumes for the root of the filesystem, nor in
places that are the standard filesystem hierarchy mountpoints
like /home, /usr, /proc etc. These are generally part of the
implementation of the computer and not interesting to users. I.E. they
are always availible, not mountable/unmountable by users, and not used
as places to store or load files (in your homedir, yes, but not
in /home). 

For your details, maybe we should also hide the /usr/local mountpoint...




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]