## CamelStreamFilter CamelStreamFilter |

## Functions

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

## Types and Values

struct | CamelStreamFilter

## Object Hierarchy

        GObject
        ╰── CamelStream
            ╰── CamelStreamFilter

## Implemented Interfaces

CamelStreamFilter implements GSeekable.

## Description

## Functions

### camel_stream_filter_new ()

    CamelStream *
    camel_stream_filter_new (CamelStream *source);

Create a new CamelStreamFilter object.

#### Returns

a new CamelStreamFilter object.

Since 2.32

### camel_stream_filter_get_source ()

    CamelStream *
    camel_stream_filter_get_source (CamelStreamFilter *stream);

#### Parameters

stream | a CamelStreamFilter |

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()` |

## Types and Values

### struct CamelStreamFilter

    struct CamelStreamFilter;