GMimeFilter

GMimeFilter — Abstract filter class

Synopsis

                    GMimeFilter;
GMimeFilter*        g_mime_filter_copy                  (GMimeFilter *filter);
void                g_mime_filter_filter                (GMimeFilter *filter,
                                                         char *inbuf,
                                                         size_t inlen,
                                                         size_t prespace,
                                                         char **outbuf,
                                                         size_t *outlen,
                                                         size_t *outprespace);
void                g_mime_filter_complete              (GMimeFilter *filter,
                                                         char *inbuf,
                                                         size_t inlen,
                                                         size_t prespace,
                                                         char **outbuf,
                                                         size_t *outlen,
                                                         size_t *outprespace);
void                g_mime_filter_reset                 (GMimeFilter *filter);
void                g_mime_filter_backup                (GMimeFilter *filter,
                                                         const char *data,
                                                         size_t length);
void                g_mime_filter_set_size              (GMimeFilter *filter,
                                                         size_t size,
                                                         gboolean keep);

Object Hierarchy

  GObject
   +----GMimeFilter
         +----GMimeFilterBasic
         +----GMimeFilterBest
         +----GMimeFilterCharset
         +----GMimeFilterCRLF
         +----GMimeFilterEnriched
         +----GMimeFilterFrom
         +----GMimeFilterGZip
         +----GMimeFilterHTML
         +----GMimeFilterMd5
         +----GMimeFilterStrip
         +----GMimeFilterWindows
         +----GMimeFilterYenc

Description

Stream filters are an efficient way of converting data from one format to another.

Details

GMimeFilter

typedef struct _GMimeFilter GMimeFilter;

Base class for filters used by GMimeStreamFilter.


g_mime_filter_copy ()

GMimeFilter*        g_mime_filter_copy                  (GMimeFilter *filter);

Copies filter into a new GMimeFilter object.

filter :

filter

Returns :

a duplicate of filter.

g_mime_filter_filter ()

void                g_mime_filter_filter                (GMimeFilter *filter,
                                                         char *inbuf,
                                                         size_t inlen,
                                                         size_t prespace,
                                                         char **outbuf,
                                                         size_t *outlen,
                                                         size_t *outprespace);

Filters the input data and writes it to out.

filter :

filter

inbuf :

input buffer

inlen :

input buffer length

prespace :

prespace buffer length

outbuf :

pointer to output buffer

outlen :

pointer to output length

outprespace :

pointer to output prespace buffer length

g_mime_filter_complete ()

void                g_mime_filter_complete              (GMimeFilter *filter,
                                                         char *inbuf,
                                                         size_t inlen,
                                                         size_t prespace,
                                                         char **outbuf,
                                                         size_t *outlen,
                                                         size_t *outprespace);

Completes the filtering.

filter :

filter

inbuf :

input buffer

inlen :

input buffer length

prespace :

prespace buffer length

outbuf :

pointer to output buffer

outlen :

pointer to output length

outprespace :

pointer to output prespace buffer length

g_mime_filter_reset ()

void                g_mime_filter_reset                 (GMimeFilter *filter);

Resets the filter.

filter :

a GMimeFilter object

g_mime_filter_backup ()

void                g_mime_filter_backup                (GMimeFilter *filter,
                                                         const char *data,
                                                         size_t length);

Sets number of bytes backed up on the input, new calls replace previous ones

filter :

filter

data :

data to backup

length :

length of data

g_mime_filter_set_size ()

void                g_mime_filter_set_size              (GMimeFilter *filter,
                                                         size_t size,
                                                         gboolean keep);

Ensure this much size is available for filter output (if required)

filter :

filter

size :

requested size for the output buffer

keep :

TRUE if existing data in the output buffer should be kept

See Also

GMimeStreamFilter