gmime-filter

Name

gmime-filter -- 

Synopsis



struct      GMimeFilter;
#define     GMIME_FILTER                    (filter)
void        g_mime_filter_construct         (GMimeFilter *filter,
                                             GMimeFilter *filter_template);
void        g_mime_filter_destroy           (GMimeFilter *filter);
GMimeFilter* g_mime_filter_copy             (GMimeFilter *filter);
void        g_mime_filter_filter            (GMimeFilter *filter,
                                             char *in,
                                             size_t len,
                                             size_t prespace,
                                             char **out,
                                             size_t *outlen,
                                             size_t *outprespace);
void        g_mime_filter_complete          (GMimeFilter *filter,
                                             char *in,
                                             size_t len,
                                             size_t prespace,
                                             char **out,
                                             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,
                                             int keep);

Description

Details

struct GMimeFilter

struct GMimeFilter {
	struct _GMimeFilterPrivate *priv;
	
	char *outreal;		/* real malloc'd buffer */
	char *outbuf;		/* first 'writable' position allowed (outreal + outpre) */
	char *outptr;
	int outsize;
	int outpre;		/* prespace of this buffer */
	
	char *backbuf;
	int backsize;
	int backlen;		/* significant data there */
	
	/* virtual functions */
	void (*destroy)  (GMimeFilter *filter);
	
	GMimeFilter *(*copy) (GMimeFilter *filter);
	
	void (*filter)   (GMimeFilter *filter,
			  char *in, size_t len, size_t prespace,
			  char **out, size_t *outlen, size_t *outprespace);
	
	void (*complete) (GMimeFilter *filter,
			  char *in, size_t len, size_t prespace,
			  char **out, size_t *outlen, size_t *outprespace);
	
	void (*reset)    (GMimeFilter *filter);
};


GMIME_FILTER()

#define GMIME_FILTER(filter) ((GMimeFilter *) filter)

filter : 


g_mime_filter_construct ()

void        g_mime_filter_construct         (GMimeFilter *filter,
                                             GMimeFilter *filter_template);

Initializes a filter object using the virtual methods in filter_template.

filter : filter
filter_template : filter template


g_mime_filter_destroy ()

void        g_mime_filter_destroy           (GMimeFilter *filter);

Destroys filter and releases the memory to the system.

filter : filter


g_mime_filter_copy ()

GMimeFilter* g_mime_filter_copy             (GMimeFilter *filter);

filter : filter
Returns :a duplicate of filter.


g_mime_filter_filter ()

void        g_mime_filter_filter            (GMimeFilter *filter,
                                             char *in,
                                             size_t len,
                                             size_t prespace,
                                             char **out,
                                             size_t *outlen,
                                             size_t *outprespace);

Filters the input data and writes it to out.

filter : filter
in : input buffer
len : input buffer length
prespace : prespace buffer length
out : 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 *in,
                                             size_t len,
                                             size_t prespace,
                                             char **out,
                                             size_t *outlen,
                                             size_t *outprespace);

Completes the filtering.

filter : filter
in : input buffer
len : input length
prespace : prespace buffer length
out : 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 : 


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 : 
length : 


g_mime_filter_set_size ()

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

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

filter : filter
size : 
keep :