## CamelStreamFilter

CamelStreamFilter

## Functions

CamelStream * | camel_stream_filter_new ()
CamelStream * | camel_stream_filter_get_source ()
gint | camel_stream_filter_add ()
void | camel_stream_filter_remove ()

## Object Hierarchy

        GObject
        ╰── CamelStream
            ╰── CamelStreamFilter

## Description

## Functions

### camel_stream_filter_new ()

    CamelStream *
    camel_stream_filter_new (CamelStream *source);

Create a new CamelStreamFilter object. The `source` stream is referenced, thus the caller can unref it, if not needed.

#### Parameters

source | a CamelStream to filter |

#### Returns

a new CamelStreamFilter object.

[transfer full]

Since: 2.32

### camel_stream_filter_get_source ()

    CamelStream *
    camel_stream_filter_get_source (CamelStreamFilter *stream);

#### Parameters

stream | a CamelStreamFilter |

#### Returns

.

[transfer none]

Since: 2.32

### camel_stream_filter_add ()

    gint
    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.

#### Parameters

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,
                                gint id);

Remove a processing filter from the stream by id.

#### Parameters

stream | a CamelStreamFilter object |
id | Filter id, as returned from `camel_stream_filter_add()` |