Class
CamelStreamFilter
Description [src]
class Camel.StreamFilter : Camel.Stream
implements Gio.Seekable {
CamelStreamFilterPrivate* priv
}
A stream that pipelines data through MIME filters.
CamelStreamFilter wraps another CamelStream and passes all data read
from or written to it through an ordered chain of CamelMimeFilter
instances. This enables efficient, multi-stage, pipelined processing of
stream data in a single pass.
Filters are added with camel_stream_filter_add() and removed with
camel_stream_filter_remove(). Each filter is applied in the order it was
added. Data flows through all filters before being returned to the caller
(for read) or written to the underlying stream (for write).
Constructors
camel_stream_filter_new
Create a new CamelStreamFilter object. The source stream
is referenced, thus the caller can unref it, if not needed.
since: 2.32
Instance methods
camel_stream_filter_add
Add a new CamelMimeFilter to execute during the processing of this
stream. Each filter added is processed after the previous one.
Methods inherited from CamelStream (9)
camel_stream_close
Closes the stream.
camel_stream_eos
Tests if there are bytes left to read on the stream object.
camel_stream_flush
Flushes any buffered data to the stream’s backing store. Only meaningful for writable streams.
camel_stream_read
Attempts to read up to n bytes from stream into buffer.
camel_stream_ref_base_stream
Returns the GIOStream for stream. This is only valid if stream was
created with camel_stream_new(). For all other CamelStream subclasses
this function returns NULL.
since: 3.12
camel_stream_set_base_stream
Replaces the GIOStream passed to camel_stream_new() with base_stream.
The new base_stream should wrap the original GIOStream, such as when
adding Transport Layer Security after issuing a STARTTLS command.
since: 3.12
camel_stream_write
Attempts to write up to n bytes of buffer into stream.
camel_stream_write_string
Writes the string to the stream.
camel_stream_write_to_stream
Write all of a stream (until eos) into another stream, in a blocking fashion.
Methods inherited from GSeekable (5)
g_seekable_can_seek
Tests if the stream supports the GSeekableIface.
g_seekable_can_truncate
Tests if the length of the stream can be adjusted with g_seekable_truncate().
g_seekable_seek
Seeks in the stream by the given offset, modified by type.
g_seekable_tell
Tells the current position within the stream.
g_seekable_truncate
Sets the length of the stream to offset. If the stream was previously
larger than offset, the extra data is discarded. If the stream was
previously shorter than offset, it is extended with NUL (‘\0’) bytes.
Properties
Properties inherited from CamelStream (1)
Signals
Signals inherited from GObject (1)
GObject::notify
The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.