CamelStreamBuffer

CamelStreamBuffer

Functions

Types and Values

Object Hierarchy

    GObject
    ╰── CamelStream
        ╰── CamelStreamBuffer

Implemented Interfaces

CamelStreamBuffer implements GSeekable.

Description

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.

Parameters

stream

a CamelStream object to buffer

 

mode

Operational mode of buffered stream.

 

Returns

a newly created buffered stream.


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.

 

max

Maxmimum number of characters to store.

 

cancellable

optional GCancellable object, or NULL

 

error

return location for a GError, or NULL

 

Returns

the number of characters read, or 0 for end of file, and -1 on 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 NULL

 

error

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.

Types and Values

struct CamelStreamBuffer

struct CamelStreamBuffer;

enum CamelStreamBufferMode

Members

CAMEL_STREAM_BUFFER_BUFFER

   

CAMEL_STREAM_BUFFER_NONE

   

CAMEL_STREAM_BUFFER_READ

   

CAMEL_STREAM_BUFFER_WRITE

   

CAMEL_STREAM_BUFFER_MODE