GMimePart

## GMimePart GMimePart — MIME parts |

## Synopsis

    struct              GMimePart;
    GMimePart *         g_mime_part_new                     (void);
    GMimePart *         g_mime_part_new_with_type           (const char *type,
                                                             const char *subtype);
    void                g_mime_part_set_content_description (GMimePart *mime_part,
                                                             const char *description);
    const char *        g_mime_part_get_content_description (GMimePart *mime_part);
    void                g_mime_part_set_content_id          (GMimePart *mime_part,
                                                             const char *content_id);
    const char *        g_mime_part_get_content_id          (GMimePart *mime_part);
    void                g_mime_part_set_content_md5         (GMimePart *mime_part,
                                                             const char *content_md5);
    const char *        g_mime_part_get_content_md5         (GMimePart *mime_part);
    gboolean            g_mime_part_verify_content_md5      (GMimePart *mime_part);
    void                g_mime_part_set_content_location    (GMimePart *mime_part,
                                                             const char *content_location);
    const char *        g_mime_part_get_content_location    (GMimePart *mime_part);
    void                g_mime_part_set_content_encoding    (GMimePart *mime_part,
                                                             GMimeContentEncoding encoding);
    GMimeContentEncoding g_mime_part_get_content_encoding   (GMimePart *mime_part);
    GMimeContentEncoding g_mime_part_get_best_content_encoding
                                                            (GMimePart *mime_part,
                                                             GMimeEncodingConstraint constraint);
    void                g_mime_part_set_filename            (GMimePart *mime_part,
                                                             const char *filename);
    const char *        g_mime_part_get_filename            (GMimePart *mime_part);
    GMimeDataWrapper *  g_mime_part_get_content_object      (GMimePart *mime_part);
    void                g_mime_part_set_content_object      (GMimePart *mime_part,
                                                             GMimeDataWrapper *content);

## Description

A GMimePart represents any MIME leaf part (meaning it has no sub-parts).

## Details

### struct GMimePart

    struct GMimePart {
    	GMimeObject parent_object;

    	GMimeContentEncoding encoding;
    	char *content_description;
    	char *content_location;
    	char *content_md5;

    	GMimeDataWrapper *content;
    };

A leaf-node MIME part object.

GMimeObject `parent_object`; | parent GMimeObject
GMimeContentEncoding `encoding`; | a GMimeContentEncoding
char *`content_description`; | Content-Description string
char *`content_location`; | Content-Location string
char *`content_md5`; | Content-MD5 string
GMimeDataWrapper *`content`; | a GMimeDataWrapper representing the MIME part's content

### g_mime_part_new ()

    GMimePart *         g_mime_part_new                     (void);

Creates a new MIME Part object with a default content-type of text/plain.

Returns : | an empty MIME Part object with a default content-type of text/plain.

### g_mime_part_new_with_type ()

    GMimePart *         g_mime_part_new_with_type           (const char *type,
                                                             const char *subtype);

Creates a new MIME Part with a sepcified type.

`type` : | content-type string
`subtype` : | content-subtype string
Returns : | an empty MIME Part object with the specified content-type.

### g_mime_part_set_content_description ()

    void                g_mime_part_set_content_description (GMimePart *mime_part,
                                                             const char *description);

Set the content description for the specified mime part.

`mime_part` : | a GMimePart object
`description` : | content description

### g_mime_part_get_content_description ()

    const char *        g_mime_part_get_content_description (GMimePart *mime_part);

Gets the value of the Content-Description for the specified mime part if it exists or `NULL` otherwise.

`mime_part` : | a GMimePart object
Returns : | the content description for the specified mime part.

### g_mime_part_set_content_id ()

    void                g_mime_part_set_content_id          (GMimePart *mime_part,
                                                             const char *content_id);

Set the content id for the specified mime part.

`mime_part` : | a GMimePart object
`content_id` : | content id

### g_mime_part_get_content_id ()

    const char *        g_mime_part_get_content_id          (GMimePart *mime_part);

Gets the content-id of the specified mime part if it exists, or `NULL` otherwise.

`mime_part` : | a GMimePart object
Returns : | the content id for the specified mime part.

### g_mime_part_set_content_md5 ()

    void                g_mime_part_set_content_md5         (GMimePart *mime_part,
                                                             const char *content_md5);

Set the content md5 for the specified mime part.

`mime_part` : | a GMimePart object
`content_md5` : | content md5 or `NULL` to generate the md5 digest.

### g_mime_part_get_content_md5 ()

    const char *        g_mime_part_get_content_md5         (GMimePart *mime_part);

Gets the md5sum contained in the Content-Md5 header of the specified mime part if it exists, or `NULL` otherwise.

`mime_part` : | a GMimePart object
Returns : | the content md5 for the specified mime part.

### g_mime_part_verify_content_md5 ()

    gboolean            g_mime_part_verify_content_md5      (GMimePart *mime_part);

Verify the content md5 for the specified mime part.

`mime_part` : | a GMimePart object
Returns : | `TRUE` if the md5 is valid or `FALSE` otherwise. Note: will return `FALSE` if the mime part does not contain a Content-MD5.

### g_mime_part_set_content_location ()

    void                g_mime_part_set_content_location    (GMimePart *mime_part,
                                                             const char *content_location);

Set the content location for the specified mime part.

`mime_part` : | a GMimePart object
`content_location` : | content location

### g_mime_part_get_content_location ()

    const char *        g_mime_part_get_content_location    (GMimePart *mime_part);

Gets the value of the Content-Location header if it exists, or `NULL` otherwise.

`mime_part` : | a GMimePart object
Returns : | the content location for the specified mime part.

### g_mime_part_set_content_encoding ()

    void                g_mime_part_set_content_encoding    (GMimePart *mime_part,
                                                             GMimeContentEncoding encoding);

Set the content encoding for the specified mime part.

`mime_part` : | a GMimePart object
`encoding` : | a GMimeContentEncoding

### g_mime_part_get_content_encoding ()

    GMimeContentEncoding g_mime_part_get_content_encoding   (GMimePart *mime_part);

Gets the content encoding of the mime part.

`mime_part` : | a GMimePart object
Returns : | the content encoding for the specified mime part.

### g_mime_part_get_best_content_encoding ()

    GMimeContentEncoding g_mime_part_get_best_content_encoding
                                                            (GMimePart *mime_part,
                                                             GMimeEncodingConstraint constraint);

Calculates the most efficient content encoding for the `mime_part` given the `constraint`.

`mime_part` : | a GMimePart object
`constraint` : | a GMimeEncodingConstraint
Returns : | the best content encoding for the specified mime part.

### g_mime_part_set_filename ()

    void                g_mime_part_set_filename            (GMimePart *mime_part,
                                                             const char *filename);

Sets the "filename" parameter on the Content-Disposition and also sets the "name" parameter on the Content-Type.

Note: The `filename` string should be in UTF-8.

`mime_part` : | a GMimePart object
`filename` : | the file name

### g_mime_part_get_filename ()

    const char *        g_mime_part_get_filename            (GMimePart *mime_part);

Gets the filename of the specificed mime part, or `NULL` if the `mime_part` does not have the filename or name parameter set.

`mime_part` : | a GMimePart object
Returns : | the filename of the specified `mime_part` or `NULL` if neither of the parameters is set. If a file name is set, the returned string will be in UTF-8.

### g_mime_part_get_content_object ()

    GMimeDataWrapper *  g_mime_part_get_content_object      (GMimePart *mime_part);

Gets the internal data-wrapper of the specified mime part, or `NULL` on error.

`mime_part` : | a GMimePart object
Returns : | the data-wrapper for the mime part's contents. [transfer none]

### g_mime_part_set_content_object ()

    void                g_mime_part_set_content_object      (GMimePart *mime_part,
                                                             GMimeDataWrapper *content);

Sets the content object on the mime part.

`mime_part` : | a GMimePart object
`content` : | a GMimeDataWrapper content object