[Nautilus-list] Re: [GNOME VFS] Logic Bomb



Ok, I realized some flaws in my post:

> gnomevfs allows to set up jobs about transfers between uris, abstract
> data sources.

I skipped:
These abstract data sources have properties.
But because the sources are abstract, you don't know which one and what
values they have.

> Now look at interfaces of the method implementations (in /modules).
> They provide two functions to be called from outside the context of
the
> method:
> * gboolean is_local()
> * gboolean is_samefs()

These functions aren't called from the outside. The calls encountered in
xfer.c get resolved to the method implementations through some pointer
magic I don't understand. So it's setup in a way that could handle the
change of meaning in the process, but it doesn't seem to do so
currently.

> GNOME_VFS_XFER_REMOVESOURCE represents an virtual move job here.

bs. I think xfer_uri_internal() gets called on a single uri basis (as
the name implies). If this is true, it doesn't represent a job, it
represents a single operation within a job. But it gets an uri list,
which confuses the heck out of everyone who tries to implement it and 
fulfill the requirements the signature suggests.
 
> Nobody ever noticed because nobody ever tried to feed a move job into
> the system whose source uris reside on different methods - I suspect
you
> can't compose such a job in Nautilus.

bs, again because you aren't dealing with a job here. 
 
Luckily the definition of job and operation are irrelevant for the rest
of my argument.

Darin, is the person who designed the system the same one who
implemented it?

Martin






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