Top |
Functions
camel_stream_buffer_new ()
CamelStream * camel_stream_buffer_new (CamelStream *stream
,CamelStreamBufferMode mode
);
Create a new buffered stream of another stream. A default buffer size (1024 bytes), automatically managed will be used for buffering.
The following values are available for mode
:
CAMEL_STREAM_BUFFER_BUFFER, Buffer the input/output in blocks. CAMEL_STREAM_BUFFER_NEWLINE, Buffer on newlines (for output). CAMEL_STREAM_BUFFER_NONE, Perform no buffering.
Note that currently this is ignored and CAMEL_STREAM_BUFFER_BUFFER is always used.
In addition, one of the following mode options should be or'd together with the buffering mode:
CAMEL_STREAM_BUFFER_WRITE, Buffer in write mode. CAMEL_STREAM_BUFFER_READ, Buffer in read mode.
Buffering can only be done in one direction for any buffer instance.
camel_stream_buffer_gets ()
gint camel_stream_buffer_gets (CamelStreamBuffer *sbf
,gchar *buf
,guint max
,GCancellable *cancellable
,GError **error
);
Read a line of characters up to the next newline character or
max
-1 characters.
If the newline character is encountered, then it will be
included in the buffer buf
. The buffer will be NULL
terminated.
Parameters
sbf |
a CamelStreamBuffer object |
|
buf |
Memory to write the string to. |
[out][array] |
max |
Maxmimum number of characters to store. |
|
cancellable |
optional GCancellable object, or |
|
error |
camel_stream_buffer_read_line ()
gchar * camel_stream_buffer_read_line (CamelStreamBuffer *sbf
,GCancellable *cancellable
,GError **error
);
This function reads a complete newline-terminated line from the stream and returns it in allocated memory. The trailing newline (and carriage return if any) are not included in the returned string.
Parameters
sbf |
a CamelStreamBuffer object |
|
cancellable |
optional GCancellable object, or |
|
error |
return location for a |
Returns
the line read, which the caller must free when done with,
or NULL
on eof. If an error occurs, error
will be set.
[nullable]