## CamelIMAPXStream CamelIMAPXStream |

## Synopsis

    #define             CAMEL_IMAPX_ERROR
    enum                camel_imapx_token_t;
    struct              CamelIMAPXStream;
    GQuark              camel_imapx_error_quark             (void);
    CamelStream *       camel_imapx_stream_new              (CamelStream *source);
    CamelStream *       camel_imapx_stream_ref_source       (CamelIMAPXStream *is);
    gint                camel_imapx_stream_buffered         (CamelIMAPXStream *is);
    camel_imapx_token_t camel_imapx_stream_token            (CamelIMAPXStream *is,
                                                             guchar **start,
                                                             guint *len,
                                                             GCancellable *cancellable,
                                                             GError **error);
    void                camel_imapx_stream_ungettoken       (CamelIMAPXStream *is,
                                                             camel_imapx_token_t tok,
                                                             guchar *token,
                                                             guint len);
    void                camel_imapx_stream_set_literal      (CamelIMAPXStream *is,
                                                             guint literal);
    gint                camel_imapx_stream_gets             (CamelIMAPXStream *is,
                                                             guchar **start,
                                                             guint *len,
                                                             GCancellable *cancellable,
                                                             GError **error);
    gint                camel_imapx_stream_getl             (CamelIMAPXStream *is,
                                                             guchar **start,
                                                             guint *len,
                                                             GCancellable *cancellable,
                                                             GError **error);
    gboolean            camel_imapx_stream_atom             (CamelIMAPXStream *is,
                                                             guchar **start,
                                                             guint *len,
                                                             GCancellable *cancellable,
                                                             GError **error);
    gboolean            camel_imapx_stream_astring          (CamelIMAPXStream *is,
                                                             guchar **start,
                                                             GCancellable *cancellable,
                                                             GError **error);
    gboolean            camel_imapx_stream_nstring          (CamelIMAPXStream *is,
                                                             guchar **start,
                                                             GCancellable *cancellable,
                                                             GError **error);
    gboolean            camel_imapx_stream_nstring_stream   (CamelIMAPXStream *is,
                                                             CamelStream **stream,
                                                             GCancellable *cancellable,
                                                             GError **error);
    gboolean            camel_imapx_stream_text             (CamelIMAPXStream *is,
                                                             guchar **text,
                                                             GCancellable *cancellable,
                                                             GError **error);
    gboolean            camel_imapx_stream_number           (CamelIMAPXStream *is,
                                                             guint64 *number,
                                                             GCancellable *cancellable,
                                                             GError **error);
    gboolean            camel_imapx_stream_skip             (CamelIMAPXStream *is,
                                                             GCancellable *cancellable,
                                                             GError **error);
    gboolean            camel_imapx_stream_skip_until       (CamelIMAPXStream *is,
                                                             const gchar *delimiters,
                                                             GCancellable *cancellable,
                                                             GError **error);

## Object Hierarchy

      GObject
       +----CamelObject
             +----CamelStream
                   +----CamelIMAPXStream

## Properties

      "source"                   CamelStream*          : Read / Write / Construct Only

## Description

## Details

### CAMEL_IMAPX_ERROR

    #define             CAMEL_IMAPX_ERROR

### enum camel_imapx_token_t

    typedef enum {
    	IMAPX_TOK_ERROR = -1,
    	IMAPX_TOK_TOKEN = 256,
    	IMAPX_TOK_STRING,
    	IMAPX_TOK_INT,
    	IMAPX_TOK_LITERAL,
    } camel_imapx_token_t;

`IMAPX_TOK_ERROR` |
`IMAPX_TOK_TOKEN` |
`IMAPX_TOK_STRING` |
`IMAPX_TOK_INT` |
`IMAPX_TOK_LITERAL` |

### struct CamelIMAPXStream

    struct CamelIMAPXStream;

### camel_imapx_error_quark ()

    GQuark              camel_imapx_error_quark             (void);

### camel_imapx_stream_new ()

    CamelStream *       camel_imapx_stream_new              (CamelStream *source);

Returns a NULL stream. A null stream is always at eof, and always returns success for all reads and writes.

Returns : | the stream

### camel_imapx_stream_ref_source ()

    CamelStream *       camel_imapx_stream_ref_source       (CamelIMAPXStream *is);

### camel_imapx_stream_buffered ()

    gint                camel_imapx_stream_buffered         (CamelIMAPXStream *is);

### camel_imapx_stream_token ()

    camel_imapx_token_t camel_imapx_stream_token            (CamelIMAPXStream *is,
                                                             guchar **start,
                                                             guint *len,
                                                             GCancellable *cancellable,
                                                             GError **error);

### camel_imapx_stream_ungettoken ()

    void                camel_imapx_stream_ungettoken       (CamelIMAPXStream *is,
                                                             camel_imapx_token_t tok,
                                                             guchar *token,
                                                             guint len);

### camel_imapx_stream_set_literal ()

    void                camel_imapx_stream_set_literal      (CamelIMAPXStream *is,
                                                             guint literal);

### camel_imapx_stream_gets ()

    gint                camel_imapx_stream_gets             (CamelIMAPXStream *is,
                                                             guchar **start,
                                                             guint *len,
                                                             GCancellable *cancellable,
                                                             GError **error);

### camel_imapx_stream_getl ()

    gint                camel_imapx_stream_getl             (CamelIMAPXStream *is,
                                                             guchar **start,
                                                             guint *len,
                                                             GCancellable *cancellable,
                                                             GError **error);

### camel_imapx_stream_atom ()

    gboolean            camel_imapx_stream_atom             (CamelIMAPXStream *is,
                                                             guchar **start,
                                                             guint *len,
                                                             GCancellable *cancellable,
                                                             GError **error);

### camel_imapx_stream_astring ()

    gboolean            camel_imapx_stream_astring          (CamelIMAPXStream *is,
                                                             guchar **start,
                                                             GCancellable *cancellable,
                                                             GError **error);

### camel_imapx_stream_nstring ()

    gboolean            camel_imapx_stream_nstring          (CamelIMAPXStream *is,
                                                             guchar **start,
                                                             GCancellable *cancellable,
                                                             GError **error);

### camel_imapx_stream_nstring_stream ()

    gboolean            camel_imapx_stream_nstring_stream   (CamelIMAPXStream *is,
                                                             CamelStream **stream,
                                                             GCancellable *cancellable,
                                                             GError **error);

### camel_imapx_stream_text ()

    gboolean            camel_imapx_stream_text             (CamelIMAPXStream *is,
                                                             guchar **text,
                                                             GCancellable *cancellable,
                                                             GError **error);

### camel_imapx_stream_number ()

    gboolean            camel_imapx_stream_number           (CamelIMAPXStream *is,
                                                             guint64 *number,
                                                             GCancellable *cancellable,
                                                             GError **error);

### camel_imapx_stream_skip ()

    gboolean            camel_imapx_stream_skip             (CamelIMAPXStream *is,
                                                             GCancellable *cancellable,
                                                             GError **error);

### camel_imapx_stream_skip_until ()

    gboolean            camel_imapx_stream_skip_until       (CamelIMAPXStream *is,
                                                             const gchar *delimiters,
                                                             GCancellable *cancellable,
                                                             GError **error);

## Property Details

### The `"source"` property

      "source"                   CamelStream*          : Read / Write / Construct Only

Source stream.