GMimeHeaderList

GMimeHeaderList — Message and MIME part headers

Types and Values

Object Hierarchy

    GObject
    ├── GMimeHeader
    ╰── GMimeHeaderList

Description

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

Functions

GMimeHeaderRawValueFormatter ()

char *
(*GMimeHeaderRawValueFormatter) (GMimeHeader *header,
                                 GMimeFormatOptions *options,
                                 const char *value,
                                 const char *charset);

Function callback for encoding and formatting a header value.

Parameters

header

a GMimeHeader

 

options

a GMimeFormatOptions

 

value

an unencoded header value

 

charset

a charset

 

Returns

the encoded and formatted raw header value.


g_mime_header_format_addrlist ()

char *
g_mime_header_format_addrlist (GMimeHeader *header,
                               GMimeFormatOptions *options,
                               const char *value,
                               const char *charset);

Parses the value and then re-formats it to conform to the formatting options, folding the value if necessary.

Parameters

header

a GMimeHeader

 

options

a GMimeFormatOptions or NULL.

[nullable]

value

a Sender, From, Reply-To, To, Cc, or Bcc header value

 

charset

a charset (note: unused)

 

Returns

a newly allocated string containing the reformatted value.


g_mime_header_format_content_disposition ()

char *
g_mime_header_format_content_disposition
                               (GMimeHeader *header,
                                GMimeFormatOptions *options,
                                const char *value,
                                const char *charset);

Parses the value and then re-formats it to conform to the formatting options, folding the value if necessary.

Parameters

header

a GMimeHeader

 

options

a GMimeFormatOptions or NULL.

[nullable]

value

a Content-Disposition header value

 

charset

a charset (note: unused)

 

Returns

a newly allocated string containing the reformatted value.


g_mime_header_format_content_type ()

char *
g_mime_header_format_content_type (GMimeHeader *header,
                                   GMimeFormatOptions *options,
                                   const char *value,
                                   const char *charset);

Parses the value and then re-formats it to conform to the formatting options, folding the value if necessary.

Parameters

header

a GMimeHeader

 

options

a GMimeFormatOptions or NULL.

[nullable]

value

a Content-Type header value

 

charset

a charset (note: unused)

 

Returns

a newly allocated string containing the reformatted value.


g_mime_header_format_default ()

char *
g_mime_header_format_default (GMimeHeader *header,
                              GMimeFormatOptions *options,
                              const char *value,
                              const char *charset);

Parses the value and then re-formats it to conform to the formatting options, folding the value if necessary.

Parameters

header

a GMimeHeader

 

options

a GMimeFormatOptions or NULL.

[nullable]

value

a header value

 

charset

a charset to use when encoding the value

 

Returns

a newly allocated string containing the reformatted value.


g_mime_header_format_message_id ()

char *
g_mime_header_format_message_id (GMimeHeader *header,
                                 GMimeFormatOptions *options,
                                 const char *value,
                                 const char *charset);

Parses the value and then re-formats it to conform to the formatting options, folding the value if necessary.

Parameters

header

a GMimeHeader

 

options

a GMimeFormatOptions or NULL.

[nullable]

value

a Message-Id or Content-Id header value

 

charset

a charset (note: unused)

 

Returns

a newly allocated string containing the reformatted value.


g_mime_header_format_received ()

char *
g_mime_header_format_received (GMimeHeader *header,
                               GMimeFormatOptions *options,
                               const char *value,
                               const char *charset);

Parses the value and then re-formats it to conform to the formatting options, folding the value if necessary.

Parameters

header

a GMimeHeader

 

options

a GMimeFormatOptions or NULL.

[nullable]

value

a Received header value

 

charset

a charset (note: unused)

 

Returns

a newly allocated string containing the reformatted value.


g_mime_header_format_references ()

char *
g_mime_header_format_references (GMimeHeader *header,
                                 GMimeFormatOptions *options,
                                 const char *value,
                                 const char *charset);

Parses the value and then re-formats it to conform to the formatting options, folding the value if necessary.

Parameters

header

a GMimeHeader

 

options

a GMimeFormatOptions or NULL.

[nullable]

value

a References or In-Reply-To header value

 

charset

a charset (note: unused)

 

Returns

a newly allocated string containing the reformatted value.


g_mime_header_get_name ()

const char *
g_mime_header_get_name (GMimeHeader *header);

Gets the header's name.

Parameters

header

a GMimeHeader

 

Returns

the header name or NULL if invalid.


g_mime_header_get_raw_name ()

const char *
g_mime_header_get_raw_name (GMimeHeader *header);

Gets the header's raw name. The raw header name is the complete string up to (but not including) the ':' separating the header's name from its value. This string may be different from the value returned by g_mime_header_get_name() if the parsed message's header contained trailing whitespace after the header name, such as: "Subject : this is the subject\r\n".

Parameters

header

a GMimeHeader

 

Returns

the raw header name.


g_mime_header_get_offset ()

gint64
g_mime_header_get_offset (GMimeHeader *header);

Gets the header's stream offset if known.

Parameters

header

a GMimeHeader

 

Returns

the header offset or -1 if unknown.


g_mime_header_get_value ()

const char *
g_mime_header_get_value (GMimeHeader *header);

Gets the header's unfolded value.

Parameters

header

a GMimeHeader

 

Returns

the header's decoded value or NULL if invalid.


g_mime_header_set_value ()

void
g_mime_header_set_value (GMimeHeader *header,
                         GMimeFormatOptions *options,
                         const char *value,
                         const char *charset);

Sets the header's decoded value.

Parameters

header

a GMimeHeader

 

options

a GMimeFormatOptions or NULL.

[nullable]

value

the new header value

 

charset

a charset

 

g_mime_header_get_raw_value ()

const char *
g_mime_header_get_raw_value (GMimeHeader *header);

Gets the header's raw (folded) value.

Parameters

header

a GMimeHeader

 

Returns

the header value or NULL if invalid.


g_mime_header_set_raw_value ()

void
g_mime_header_set_raw_value (GMimeHeader *header,
                             const char *raw_value);

Sets the header's raw value.

Parameters

header

a GMimeHeader

 

raw_value

the raw value

 

g_mime_header_write_to_stream ()

ssize_t
g_mime_header_write_to_stream (GMimeHeader *header,
                               GMimeFormatOptions *options,
                               GMimeStream *stream);

Write the header to the specified stream.

Parameters

header

a GMimeHeader

 

options

a GMimeFormatOptions or NULL.

[nullable]

stream

a GMimeStream

 

Returns

the number of bytes written, or -1 on fail.


g_mime_header_list_new ()

GMimeHeaderList *
g_mime_header_list_new (GMimeParserOptions *options);

Creates a new GMimeHeaderList object.

Parameters

options

a GMimeParserOptions or NULL.

[nullable]

Returns

a new header list object.


g_mime_header_list_get_count ()

int
g_mime_header_list_get_count (GMimeHeaderList *headers);

Gets the number of headers contained within the header list.

Parameters

headers

a GMimeHeaderList

 

Returns

the number of headers in the header list.


g_mime_header_list_clear ()

void
g_mime_header_list_clear (GMimeHeaderList *headers);

Removes all of the headers from the GMimeHeaderList.

Parameters

headers

a GMimeHeaderList

 

g_mime_header_list_contains ()

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

Checks whether or not a header exists.

Parameters

headers

a GMimeHeaderList

 

name

header name

 

Returns

TRUE if the specified header exists or FALSE otherwise.


g_mime_header_list_get_header ()

GMimeHeader *
g_mime_header_list_get_header (GMimeHeaderList *headers,
                               const char *name);

Gets the first header with the specified name.

Parameters

headers

a GMimeHeaderList

 

name

header name

 

Returns

a GMimeHeader for the specified name .

[transfer none]


g_mime_header_list_get_header_at ()

GMimeHeader *
g_mime_header_list_get_header_at (GMimeHeaderList *headers,
                                  int index);

Gets the header at the specified index within the list.

Parameters

headers

a GMimeHeaderList

 

index

the 0-based index of the header

 

Returns

the header at position index .

[transfer none]


g_mime_header_list_prepend ()

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

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.

Parameters

headers

a GMimeHeaderList

 

name

header name

 

value

header value

 

charset

a charset

 

g_mime_header_list_append ()

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

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.

Parameters

headers

a GMimeHeaderList

 

name

header name

 

value

header value

 

charset

a charset

 

g_mime_header_list_set ()

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

Set the value of the specified header. 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.

Note: If there are multiple headers with the specified field name, the first instance of the header will be replaced and further instances will be removed.

Parameters

headers

a GMimeHeaderList

 

name

header name

 

value

header value

 

charset

a charset

 

g_mime_header_list_remove ()

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

Remove the first instance of the specified header.

Parameters

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

void
g_mime_header_list_remove_at (GMimeHeaderList *headers,
                              int index);

Removes the header at the specified index from headers .

Parameters

headers

a GMimeHeaderList

 

index

the 0-based index of the header to remove

 

g_mime_header_list_write_to_stream ()

ssize_t
g_mime_header_list_write_to_stream (GMimeHeaderList *headers,
                                    GMimeFormatOptions *options,
                                    GMimeStream *stream);

Write the headers to a stream.

Parameters

headers

a GMimeHeaderList

 

options

a GMimeFormatOptions or NULL.

[nullable]

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 (GMimeHeaderList *headers,
                              GMimeFormatOptions *options);

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

Parameters

headers

a GMimeHeaderList

 

options

a GMimeFormatOptions or NULL.

[nullable]

Returns

a string containing the header block.

Types and Values

struct GMimeHeader

struct GMimeHeader;

A message or mime-part header.

Members


struct GMimeHeaderList

struct GMimeHeaderList;

A list of message or mime-part headers.

See Also

GMimeObject