![]() |
![]() |
![]() |
Camel Reference Manual | ![]() |
---|---|---|---|---|
Top | Description | Object Hierarchy | Implemented Interfaces |
struct CamelStreamBuffer; enum CamelStreamBufferMode; CamelStream * camel_stream_buffer_new (CamelStream *stream
,CamelStreamBufferMode mode
); gint camel_stream_buffer_gets (CamelStreamBuffer *sbf
,gchar *buf
,guint max
,GCancellable *cancellable
,GError **error
); gchar * camel_stream_buffer_read_line (CamelStreamBuffer *sbf
,GCancellable *cancellable
,GError **error
);
typedef enum { CAMEL_STREAM_BUFFER_BUFFER = 0, CAMEL_STREAM_BUFFER_NONE, CAMEL_STREAM_BUFFER_READ = 0x00, CAMEL_STREAM_BUFFER_WRITE = 0x80, CAMEL_STREAM_BUFFER_MODE = 0x80 } CamelStreamBufferMode;
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.
|
a CamelStream object to buffer |
|
Operational mode of buffered stream. |
Returns : |
a newly created buffered stream. |
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.
|
a CamelStreamBuffer object |
|
Memory to write the string to. |
|
Maxmimum number of characters to store. |
|
optional GCancellable object, or NULL
|
|
return location for a GError, or NULL
|
Returns : |
the number of characters read, or 0 for end of file,
and -1 on error. |
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.
|
a CamelStreamBuffer object |
|
optional GCancellable object, or NULL
|
|
return location for a GError , or NULL
|
Returns : |
the line read, which the caller must free when done with,
or NULL on eof. If an error occurs, error will be set. |