Re: Bonobo::PersistFile



Miguel de Icaza <miguel@helixcode.com> writes:

> > Is the `path' argument to the `load' and `save' calls in the
> > Bonobo::PersistFile interface meant to be a path, or a URI? If the
> > former, would it be useful to add a PersistURI interface?
> 
> Well, the behaviour could be overloaded.

It shouldn't be overloaded, it should be one or the other.

> The question is what will this URI that you propose be?  Will it be
> a GNOME-VFS URI?  Maybe in this case we want a PersistVFSURI
> interface to distinguish from other URIs.

What URI schemes are supported ought to be specified by the component
in some other way (for example using oafinfo, the way we do for
NAutilus views. Being able to load local files only is a special case
of this - you say you only support the file: URI scheme. That would be
a lot simpler than having both PersistFile and PersistURI interfaces,
I think. But it's true that if we want to make clear the interface is
inteded to pass URIs, we should rename it to PersistURI.

> On the other hand, I am convinced now that the right way of handling
> this kind of tasks these days is through the moniker interface.

I don't think monikers solve the problem of "I have a specific
component ready, and I want tell this specific component to load from
a URI". It seems to me (from Michael's excellent explanation of
monikers) that monikers are generally used when you want _some_
component to handle a location you alreay know of. As far as I know,
you cannot use them to both pick components and specify a stream to
load from, or use them to change the location a given component is
viewing.

Further, the way monikers resolve, as I understand it, would require
the "file:" moniker (and others) to provide a PersistFile or
PersistURI interface to allow the performance optimization that
PeristFile is meant to provide.

Both Monikers and this kind of interface have their place, in my
opinion; they serve different purposes.

 - Maciej







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