thoughts about gvfs
- From: nf2 <nf2 scheinwelt at>
- To: gnome-vfs-list gnome org
- Subject: thoughts about gvfs
- Date: Wed, 04 Apr 2007 16:50:48 +0200
hi alexander,
i compiled gvfs yesterday and played with it a bit. looks nice. just
some notes:
1) gvfs-cat on smb: sometimes hangs.
2) why don't you map the volumes and drives into the filesystem tree
(volumes://, drives://) this would have the advantage that you can use
your flexible file-info structure and you don't need a special
gvolumes.h / gdrive.h API. (because what's the technical difference
between a mountpoint which shows up in the filesystem tree (like
smb://server/share and a volume/drive in the volume list?)
i don't understand the reason why mounting is handled by
g_file_mount (GFile *file,
GMountOperation *mount_operation);
and unmounting and ejecting is handled through the volume/drive list.
wouldn't it be more consistent to have a "std:mountpointid" and a
"std:capabilites" field (or "mountpoint:id" and
"mountpoint:capabilities") in the file-info of a mountpoint, drive or
volume and
g_mountpoint_mount(char * mountpointid, GMountOperation *eject_operation);
g_mountpoint_unmount(char * mountpointid, GUnMountOperation
*eject_operation);
g_mountpoint_eject(char * mountpointid, GEjectOperation
*eject_operation);
the std:capabilites could be a 64bit mask which reports the capabilities
of a "file-system-node", like CAN_MOUNT, CAN_UNMOUNT, CAN_EJECT for
mountpoints, but also CAN_SEEK_FILE for files...
perhaps there could also be a kind of "reverse" lookup for mountpoints...
GFileInfo * g_mountpoint_info_get_byid(char * mountpointid);
which would be valuable after mounting - to get the uri the mountpoint
points to... (something like "mountpoint:root" field, which exists only
for mounted mountpoints)
3) i thought about your argument against fuse again, that it cannot
handle server side copying: isn't copying on the server-side problematic
anyway, because you don't receive progress information? (is this also a
problem when moving a file on an ftp server? - moving between different
partitions?)
4) i have seen that every read/write operation generates a "job" on the
daemon side - does that mean you have to switch beween 3 contextes - the
client process, the main thread on the deamon side and the worker thread
on the daemon-side?
5) just a thought about mime-type detection: would it make sense to have
a GFileMimeTypeInputStream - to detect the file content type "on the
fly" when reading a file. AFAIK KIO does that in it's "get" job... I
believe that's an advantage of KIO's event based system, that you can
have progress/mime-type events along with reading a file...
norbert
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]