|  |  |  | Camel Reference Manual |  | 
|---|---|---|---|---|
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);
struct CamelStreamFilter {
	CamelStream parent;
	CamelStream *source;
	struct _CamelStreamFilterPrivate *priv;
};
CamelStreamFilter* camel_stream_filter_new_with_stream (CamelStream *stream);
| stream: | |
| Returns : | 
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. | 
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 |