CamelStreamFilter
3
CAMEL Library

# CamelStreamFilter

## Synopsis

    struct              CamelStreamFilter;
    CamelStreamFilter*  camel_stream_filter_new_with_stream (CamelStream *stream);
    int                 camel_stream_filter_add             (CamelStreamFilter *stream,
                                                             CamelMimeFilter *filter);
    void                camel_stream_filter_remove          (CamelStreamFilter *stream,
                                                             int id);

## Description

## Details

### struct CamelStreamFilter

    struct CamelStreamFilter {
    	CamelStream parent;

    	CamelStream *source;

    	struct _CamelStreamFilterPrivate *priv;
    };

### camel_stream_filter_new_with_stream ()

    CamelStreamFilter*  camel_stream_filter_new_with_stream (CamelStream *stream);

`stream` :

Returns :

### camel_stream_filter_add ()

    int                 camel_stream_filter_add             (CamelStreamFilter *stream,
                                                             CamelMimeFilter *filter);

Add a new CamelMimeFilter to execute during the processing of this stream. Each filter added is processed after the previous one.

Note that a filter should only be added to a single stream at a time, otherwise unpredictable results may occur.

`stream` :

  a CamelStreamFilter object

`filter` :

  a CamelMimeFilter object

Returns :

  a filter id for the added `filter`.

### camel_stream_filter_remove ()

    void                camel_stream_filter_remove          (CamelStreamFilter *stream,
                                                             int id);

Remove a processing filter from the stream by id.

`stream` :

  a CamelStreamFilter object

`id` :

  Filter id, as returned from camel_stream_filter_add