![]() |
![]() |
![]() |
Reference Manual of the tinymail framework | ![]() |
---|---|---|---|---|
TnyStream; TnyStreamIface; gssize tny_stream_read (TnyStream *self, char *buffer, gsize n); gssize tny_stream_write (TnyStream *self, const char *buffer, gsize n); gint tny_stream_flush (TnyStream *self); gint tny_stream_close (TnyStream *self); gboolean tny_stream_is_eos (TnyStream *self); gint tny_stream_reset (TnyStream *self); gssize tny_stream_write_to_stream (TnyStream *self, TnyStream *output);
TnyStream is implemented by TnyCamelStream, TnyFsStream, TnyMozEmbedStream, TnyCamelMemStream, TnyVfsStream, TnyGtkPixbufStream and TnyGtkTextBufferStream.
A stream is an object that can be written to and can be read from in a streaming fashion.
typedef struct { GTypeInterface parent; gssize (*read) (TnyStream *self, char *buffer, gsize n); gssize (*write) (TnyStream *self, const char *buffer, gsize n); gint (*flush) (TnyStream *self); gint (*close) (TnyStream *self); gboolean (*is_eos) (TnyStream *self); gint (*reset) (TnyStream *self); gssize (*write_to_stream) (TnyStream *self, TnyStream *output); } TnyStreamIface;
gssize tny_stream_read (TnyStream *self, char *buffer, gsize n);
Read n bytes from self
and write it into buffer
. It's your responsibility
to pass a buffer that is large enough to hold n bytes.
self : |
a TnyStream |
buffer : |
a buffer that is at least n in size |
n : |
the max amount of bytes to read from self and to write into buffer |
Returns : | the number of bytes actually read, or -1 on error and set errno. |
Since 1.0 audience: application-developer
gssize tny_stream_write (TnyStream *self, const char *buffer, gsize n);
Write n bytes of buffer
into self
. It's your responsibility to pass
a buffer that has at least n bytes.
self : |
a TnyStream |
buffer : |
a buffer that has at least n bytes |
n : |
the amount of bytes to read from buffer and to write to self |
Returns : | the number of bytes written to the stream, or -1 on error along with setting errno. |
Since 1.0 audience: application-developer
gint tny_stream_flush (TnyStream *self);
Flushes any buffered data to the stream's backing store.
self : |
a TnyStream |
Returns : | 0 on success or -1 on fail along with setting errno. |
Since 1.0 audience: application-developer
gint tny_stream_close (TnyStream *self);
Closes the stream
self : |
a TnyStream |
Returns : | 0 on success or -1 on fail. |
Since 1.0 audience: application-developer
gboolean tny_stream_is_eos (TnyStream *self);
Tests if there are bytes left to read on self
.
self : |
a TnyStream |
Returns : | TRUE on EOS or FALSE otherwise. |
Since 1.0 audience: application-developer
gint tny_stream_reset (TnyStream *self);
Resets self
. That is, put it in a state where it can be read from
the beginning again.
self : |
a TnyStream |
Returns : | 0 on success or -1 on error along with setting errno. |
Since 1.0 audience: application-developer
gssize tny_stream_write_to_stream (TnyStream *self, TnyStream *output);
Write self
to output
in an efficient way
self : |
a TnyStream |
output : |
a TnyStream |
Returns : | the number of bytes written to the output stream, or -1 on error along with setting errno. |
Since 1.0 audience: application-developer