GMimeHeader

GMimeHeader — Message and MIME part headers

Synopsis




                    GMimeHeaderIter;
                    GMimeHeaderList;
ssize_t             (*GMimeHeaderWriter)                (GMimeStream *stream,
                                                         const char *name,
                                                         const char *value);
GMimeHeaderIter*    g_mime_header_iter_copy             (GMimeHeaderIter *iter);
void                g_mime_header_iter_free             (GMimeHeaderIter *iter);
gboolean            g_mime_header_iter_equal            (GMimeHeaderIter *iter1,
                                                         GMimeHeaderIter *iter2);
gboolean            g_mime_header_iter_first            (GMimeHeaderIter *iter);
gboolean            g_mime_header_iter_last             (GMimeHeaderIter *iter);
gboolean            g_mime_header_iter_next             (GMimeHeaderIter *iter);
gboolean            g_mime_header_iter_prev             (GMimeHeaderIter *iter);
gboolean            g_mime_header_iter_is_valid         (GMimeHeaderIter *iter);
gint64              g_mime_header_iter_get_offset       (GMimeHeaderIter *iter);
const char*         g_mime_header_iter_get_name         (GMimeHeaderIter *iter);
const char*         g_mime_header_iter_get_value        (GMimeHeaderIter *iter);
gboolean            g_mime_header_iter_set_value        (GMimeHeaderIter *iter,
                                                         const char *value);
gboolean            g_mime_header_iter_remove           (GMimeHeaderIter *iter);
GMimeHeaderList*    g_mime_header_list_new              (void);
void                g_mime_header_list_destroy          (GMimeHeaderList *headers);
void                g_mime_header_list_prepend          (GMimeHeaderList *headers,
                                                         const char *name,
                                                         const char *value);
void                g_mime_header_list_append           (GMimeHeaderList *headers,
                                                         const char *name,
                                                         const char *value);
gboolean            g_mime_header_list_remove           (GMimeHeaderList *headers,
                                                         const char *name);
void                g_mime_header_list_set              (GMimeHeaderList *headers,
                                                         const char *name,
                                                         const char *value);
const char*         g_mime_header_list_get              (const GMimeHeaderList *headers,
                                                         const char *name);
GMimeHeaderIter*    g_mime_header_list_get_iter         (GMimeHeaderList *headers);
void                g_mime_header_list_register_writer  (GMimeHeaderList *headers,
                                                         const char *name,
                                                         GMimeHeaderWriter writer);
ssize_t             g_mime_header_list_write_to_stream  (const GMimeHeaderList *headers,
                                                         GMimeStream *stream);
char*               g_mime_header_list_to_string        (const GMimeHeaderList *headers);
gboolean            g_mime_header_list_has_raw          (const GMimeHeaderList *headers);
void                g_mime_header_list_set_raw          (GMimeHeaderList *headers,
                                                         const char *raw);

Description

A GMimeHeader is a collection of rfc822 header fields and their values.

Details

GMimeHeaderIter

typedef struct _GMimeHeaderIter GMimeHeaderIter;

A message or mime-part header iterator.


GMimeHeaderList

typedef struct _GMimeHeaderList GMimeHeaderList;

A message or mime-part header.


GMimeHeaderWriter ()

ssize_t             (*GMimeHeaderWriter)                (GMimeStream *stream,
                                                         const char *name,
                                                         const char *value);

Function signature for the callback to g_mime_header_register_writer().

stream :

The output stream.

name :

The field name.

value :

The field value.

Returns :

the number of bytes written or -1 on error.

g_mime_header_iter_copy ()

GMimeHeaderIter*    g_mime_header_iter_copy             (GMimeHeaderIter *iter);

Copies a header iterator.

iter :

a GMimeHeaderIter

Returns :

a new GMimeHeaderIter which matches iter's state.

g_mime_header_iter_free ()

void                g_mime_header_iter_free             (GMimeHeaderIter *iter);

Frees a GMimeHeaderIter.

iter :

a GMimeHeaderIter

g_mime_header_iter_equal ()

gboolean            g_mime_header_iter_equal            (GMimeHeaderIter *iter1,
                                                         GMimeHeaderIter *iter2);

Check that iter1 and iter2 reference the same header.

iter1 :

a GMimeHeaderIter

iter2 :

a GMimeHeaderIter

Returns :

TRUE if iter1 and iter2 refer to the same header or FALSE otherwise.

g_mime_header_iter_first ()

gboolean            g_mime_header_iter_first            (GMimeHeaderIter *iter);

Updates iter to point to the first header.

iter :

a GMimeHeaderIter

Returns :

TRUE on success or FALSE otherwise.

g_mime_header_iter_last ()

gboolean            g_mime_header_iter_last             (GMimeHeaderIter *iter);

Updates iter to point to the last header.

iter :

a GMimeHeaderIter

Returns :

TRUE on success or FALSE otherwise.

g_mime_header_iter_next ()

gboolean            g_mime_header_iter_next             (GMimeHeaderIter *iter);

Advances to the next header.

iter :

a GMimeHeaderIter

Returns :

TRUE on success or FALSE otherwise.

g_mime_header_iter_prev ()

gboolean            g_mime_header_iter_prev             (GMimeHeaderIter *iter);

Advances to the previous header.

iter :

a GMimeHeaderIter

Returns :

TRUE on success or FALSE otherwise.

g_mime_header_iter_is_valid ()

gboolean            g_mime_header_iter_is_valid         (GMimeHeaderIter *iter);

Checks if a GMimeHeaderIter is valid. An iterator may become invalid if the GMimeHeaderList that the iterator refers to changes or is destroyed.

iter :

a GMimeHeaderIter

Returns :

TRUE if iter is still valid or FALSE otherwise.

g_mime_header_iter_get_offset ()

gint64              g_mime_header_iter_get_offset       (GMimeHeaderIter *iter);

Gets the current header's file/stream offset.

iter :

a GMimeHeaderIter

Returns :

the file/stream offset or -1 if unknown or invalid.

g_mime_header_iter_get_name ()

const char*         g_mime_header_iter_get_name         (GMimeHeaderIter *iter);

Gets the current header's name.

iter :

a GMimeHeaderIter

Returns :

the header name or NULL if invalid.

g_mime_header_iter_get_value ()

const char*         g_mime_header_iter_get_value        (GMimeHeaderIter *iter);

Gets the current header's name.

iter :

a GMimeHeaderIter

Returns :

the header name or NULL if invalid.

g_mime_header_iter_set_value ()

gboolean            g_mime_header_iter_set_value        (GMimeHeaderIter *iter,
                                                         const char *value);

Sets the current header's value to the new value.

iter :

a GMimeHeaderIter

value :

new header value

Returns :

TRUE if the value was set or FALSE otherwise (indicates invalid iter).

g_mime_header_iter_remove ()

gboolean            g_mime_header_iter_remove           (GMimeHeaderIter *iter);

Removes the current header and advances to the next header.

iter :

a GMimeHeaderIter

Returns :

TRUE on success or FALSE otherwise

g_mime_header_list_new ()

GMimeHeaderList*    g_mime_header_list_new              (void);

Creates a new GMimeHeaderList object.

Returns :

a new header list object.

g_mime_header_list_destroy ()

void                g_mime_header_list_destroy          (GMimeHeaderList *headers);

Destroy the header list.

headers :

a GMimeHeaderList

g_mime_header_list_prepend ()

void                g_mime_header_list_prepend          (GMimeHeaderList *headers,
                                                         const char *name,
                                                         const char *value);

Prepends a header. If value is NULL, a space will be set aside for it (useful for setting the order of headers before values can be obtained for them) otherwise the header will be unset.

headers :

a GMimeHeaderList

name :

header name

value :

header value

g_mime_header_list_append ()

void                g_mime_header_list_append           (GMimeHeaderList *headers,
                                                         const char *name,
                                                         const char *value);

Appends a header. If value is NULL, a space will be set aside for it (useful for setting the order of headers before values can be obtained for them) otherwise the header will be unset.

headers :

a GMimeHeaderList

name :

header name

value :

header value

g_mime_header_list_remove ()

gboolean            g_mime_header_list_remove           (GMimeHeaderList *headers,
                                                         const char *name);

Remove the specified header.

headers :

a GMimeHeaderList

name :

header name

Returns :

TRUE if the header was successfully removed or FALSE if the specified header could not be found.

g_mime_header_list_set ()

void                g_mime_header_list_set              (GMimeHeaderList *headers,
                                                         const char *name,
                                                         const char *value);

Set the value of the first header with the name specified. If value is NULL and the header, name, had not been previously set, a space will be set aside for it (useful for setting the order of headers before values can be obtained for them) otherwise the header will be unset.

headers :

a GMimeHeaderList

name :

header name

value :

header value

g_mime_header_list_get ()

const char*         g_mime_header_list_get              (const GMimeHeaderList *headers,
                                                         const char *name);

Gets the value of the first header with the name requested.

headers :

a GMimeHeaderList

name :

header name

Returns :

the value of the header requested.

g_mime_header_list_get_iter ()

GMimeHeaderIter*    g_mime_header_list_get_iter         (GMimeHeaderList *headers);

Gets a new iterator for traversing headers.

headers :

a GMimeHeaderList

Returns :

a new GMimeHeaderIter which must be freed using g_mime_header_iter_free() when finished with it.

g_mime_header_list_register_writer ()

void                g_mime_header_list_register_writer  (GMimeHeaderList *headers,
                                                         const char *name,
                                                         GMimeHeaderWriter writer);

Changes the function used to write name headers to writer (or the default if writer is NULL). This is useful if you want to change the default header folding style for a particular header.

headers :

a GMimeHeaderList

name :

header name

writer :

writer function

g_mime_header_list_write_to_stream ()

ssize_t             g_mime_header_list_write_to_stream  (const GMimeHeaderList *headers,
                                                         GMimeStream *stream);

Write the headers to a stream.

headers :

a GMimeHeaderList

stream :

output stream

Returns :

the number of bytes written or -1 on fail.

g_mime_header_list_to_string ()

char*               g_mime_header_list_to_string        (const GMimeHeaderList *headers);

Allocates a string buffer containing the raw rfc822 headers contained in headers.

headers :

a GMimeHeaderList

Returns :

a string containing the header block.

g_mime_header_list_has_raw ()

gboolean            g_mime_header_list_has_raw          (const GMimeHeaderList *headers);

Gets whether or not a raw header has been set on headers.

headers :

a GMimeHeaderList

Returns :

TRUE if a raw header is set or FALSE otherwise.

g_mime_header_list_set_raw ()

void                g_mime_header_list_set_raw          (GMimeHeaderList *headers,
                                                         const char *raw);

Set the raw header.

headers :

a GMimeHeaderList

raw :

raw mime part header

See Also

GMimeObject