On Sun, 06 Feb 2005 17:03:20 +0100, Michael Natterer <[EMAIL PROTECTED]> wrote:

> An alternative to implementing our own vfs would be to entirely
> hide file handling from file plug-ins, for example by passing them
> already opened GIOChannels which they would use to read/write.
> It woud be easily possible to make the IO channels use some vfs
> layer and the plug-ins wouldn't even notice.
> While this would make "straightforward" file plug-ins (which just
> open, read sequentially, close) much easier to implement, it is
> problematic for plug-ins which want to seek around in the files
> a lot (like jpeg.c). GIOChannel has a seeking API, but we cannot
> guarantee that for all vfs backends we may want to use.

This seems like a sensible abstraction.  There are two ways to handle
the seeking problem:

1) Just make sure that all plug-ins that need to seek handle the can't
seek error message correctly.  This solution sucks.

2) Implement some mechanism whereby the plug-in signals ahead of time
that it needs to be able to seek around.  On non-seekable streams, the
backend transparently uses temporary files (which of course can be

Gimp-developer mailing list

Reply via email to