Some questions about GNOME:Stream



> > Hi there,
> >
> > I writing documentation for GNOME::Storage. I have some questions, and
> > some random ideas.
> >
> > * Why are there no 'NoPermission'-exceptions defined for create_stream,
> > create_storage, rename, commit, list_contents and erase?
> > * Why are the 'NoPermission', 'NotFound' and 'NameExists'-exceptions not
> > defined for copy_to?
>
> We need to add this exceptions.
>
> > Furthermore, looking at the OLE2 IStream interface, I wonder if
> > SetElementTimes, SetStateBits and Stat would be desirable (of course,
with
> > some better names).


What about a GNOME::Stream::insert( in long bytes) method?
One that inserts a number of bytes at the stream pointer position, and there
a negative count deletes a number of bytes from the stream pointer position
and forward. Stream pointer should be unaffected after the call.

I know that the standard I/O lacks this kind of function, and that some
streams cannot support this kind of operation, but I really miss this
function, since it is very practical when you are manipulating raw binary
data.
( Besides, all streams cannot support copy_to or truncate either! )

Perhaps the GNOME::Stream interface should be divided into a
GNOME::Generic_stream and a GNOME::Stream?

The GNOME::Genereic_stream would support all methods that it does today,
with exeption for seek, copy_to, truncate and insert. GNOME::Stream would.

A GNOME::Storage would still contain GNOME::Stream objects, since generic
streams aren't very usable for storage of data.


// Liss



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