Re: GIO branch

Lennon Cook <[email protected]> Sat, 8 Aug 2009 19:03:25 +1000
Newsgroups gmane.comp.desktop.rox.devel,gmane.spam.detected
Message-ID <20090808190325.79a3a2e8@tiamat>
Ben Morrow <[email protected]> wrote:
> I have to say I never liked the idea of ROX using GIO. GIO introduces
> a very Windows-like idea of pretending things are files that really
> aren't, which seems counter to the ROX philosophy of simple Unix file
> behaviour.
So, things that aren't *local* files aren't files? 'Unix file behavior'
is that a file is a stream of bytes - *any* stream of bytes, it doesn't
need to actually be stored on a filesystem anywhere (hence why
std{in,out,err} are considered files by POSIX). Desktop environments
generally (if implicitly) put a couple of extra constraints on this -
mainly that a file has an associated type, and hence associated actions
- to make it more useful. But rox in particular has *no requirement*
that a 'file' exist on a filesystem (see: dragging the icon from the
typical roxish 'save' dialog to another app), so I find it silly not
to remove the requirement of it being on a local filesystem (or,
atleast, mounted to the local tree). 

> IMHO things like SMB access belong in the OS filesystem layer, either
> with real filesystems like smbfs or 'virtual' filesystems like Fuse.
> I'd rather my filer concentrated on showing the files that are really
> there.
I tend to think of GIO as Fuse done better: instead of a call stack that
makes a syscall, goes into the kernel's filesystem code, and then *back
out* into userspace (through a process that will make more syscalls, eg,
through the networking libraries), it wraps the OS' APIs into something
higher-level, and does the extra work for finding the resource *before*
it starts making syscalls. It all just seems neater and more logical.

Also, compared to making syscalls directly like ROX does now, GIO
provides some other her niceties than just remote file access. For one,
its API is higher-level and nicer to work with (particularly, it can do
things asynchronously rather than by blocking); for another, it gives
full windows support for free.

-- 
Lennon Victor Cook
"He who receives an idea from me receives without lessening, as he who
lights his candle at mine receives light without darkening" 
-- Thomas Jefferson

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july

_______________________________________________
rox-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/rox-devel
signature.asc (application/pgp-signature, 197 B)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)

iEYEARECAAYFAkp9P10ACgkQSrio52E6Jm/xdACcDQ+qz3m8PYmCayAvnmQAZM5c
cnsAn1LYxur7Xr3Vs0rWQsvDshLTTG82
=r6Qs
-----END PGP SIGNATURE-----