Alexander Larsson wrote:
> On Mon, 2006-07-03 at 01:01 +0200, nf2 wrote:
>
>   
>> On Gnome-VFS i can walk through the desktop-entries listed by 
>> computer://, (there is an option in my xdg_vfs_gnome backend to 
>> automatically dive into desktop entries). It already works for mounted 
>> drives, but for drives which are not mounted, the URL points to "(null)":
>>     
>
> That will only happen for drives where the target mountpoint is not yet
> known. (This happens with hal, although we should probably fix the
> desktop file in this case...)
>
>   
I think it's ok if the URL field of the desktop-entry is empty to 
indicate that i have to 'mount' this FSDevice first...
>> xdg_vfs_gnome get computer:///CD-RW%252FDVD%25C2%25B1R%2520Drive.drive
>> [Desktop Entry]
>> Encoding=UTF-8
>> Name=CD-RW/DVD±R Drive
>> Type=FSDevice
>> Icon=gnome-dev-removable
>> URL=(null)
>>
>> I guess there is a way to look up the appropriate drive and call 
>> gnome_vfs_drive_mount (), but i don't know how... Will the name returned 
>> by gnome_vfs_drive_get_display_name () exactly match the "Name" 
>> attribute of the desktop entry?
>>     
>
> There should be a X-Gnome-Drive line that you could look at. However,
> using computer:/// (which is just a UI thing) instead of the proper
> volume manager API sounds like a horrible hack prone to breaking in
> various ways.
>
>   
Hmm. Could you please explain this? What's the point of "computer:", if 
it can't be treated as the "root folder" of the VFS? How does Nautilus 
deal with the items in "computer:"?

The problem is, that i should map the list of volumes into a generic 
"folder"  (It doesn't have to be "computer:"), because the Gnome-VFS 
volume manager API is just too specific. I think the "data-model" 
provided by libxdg-vfs should be as simple and flexible as possible, 
which means a "volume" might turn up anywhere in the directory structure 
of the VFS.

For instance KIO provides a hierarchical root-folder structure
system:/
system:/media
system:/remote
...
The volumes are not listed in system:, but in system:/media and there is 
nothing like the volume manager  API. 

I could have a special XDGVFS_FILE_TYPE_MOUNTPOINT file-type and 
"mounted", "mount_id" fields in XdgVfsFileInfo. If the client 
application finds such a dir-entry with mounted=false it knows that it 
has to call

xdg_vfs_sess_cmd_mount(char * mount_id) *)

before diving into the directory...

*) which could call:

gnome_vfs_volume_monitor_get_volume_by_id()
gnome_vfs_volume_get_drive()
gnome_vfs_drive_mount()

internally...

regards
Norbert









_______________________________________________
gnome-vfs-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/gnome-vfs-list

Reply via email to