## gmime-object

gmime-object —

## Synopsis

    struct      GMimeObject;
    void        (*GMimePartFunc)                (GMimeObject *part,
                                                 gpointer data);
    void        g_mime_object_register_type     (const char *type,
                                                 const char *subtype,
                                                 GType object_type);
    GMimeObject* g_mime_object_new_type         (const char *type,
                                                 const char *subtype);
    void        g_mime_object_ref               (GMimeObject *object);
    void        g_mime_object_unref             (GMimeObject *object);
    void        g_mime_object_set_content_type  (GMimeObject *object,
                                                 GMimeContentType *mime_type);
    const GMimeContentType* g_mime_object_get_content_type
                                                (GMimeObject *object);
    void        g_mime_object_set_content_type_parameter
                                                (GMimeObject *object,
                                                 const char *name,
                                                 const char *value);
    const char* g_mime_object_get_content_type_parameter
                                                (GMimeObject *object,
                                                 const char *name);
    void        g_mime_object_set_content_id    (GMimeObject *object,
                                                 const char *content_id);
    const char* g_mime_object_get_content_id    (GMimeObject *object);
    void        g_mime_object_add_header        (GMimeObject *object,
                                                 const char *header,
                                                 const char *value);
    void        g_mime_object_set_header        (GMimeObject *object,
                                                 const char *header,
                                                 const char *value);
    const char* g_mime_object_get_header        (GMimeObject *object,
                                                 const char *header);
    void        g_mime_object_remove_header     (GMimeObject *object,
                                                 const char *header);
    char*       g_mime_object_get_headers       (GMimeObject *object);
    ssize_t     g_mime_object_write_to_stream   (GMimeObject *object,
                                                 GMimeStream *stream);
    char*       g_mime_object_to_string         (GMimeObject *object);

## Object Hierarchy

      GObject
       +----GMimeObject
             +----GMimePart
             +----GMimeMultipart
             +----GMimeMessagePart
             +----GMimeMessage

## Description

## Details

### struct GMimeObject

    struct GMimeObject;

### GMimePartFunc ()

    void        (*GMimePartFunc)                (GMimeObject *part,
                                                 gpointer data);

`part` : |
`data` : |

### g_mime_object_register_type ()

    void        g_mime_object_register_type     (const char *type,
                                                 const char *subtype,
                                                 GType object_type);

Registers the object type `object_type` for use with the `g_mime_object_new_type()` convenience function.

Note: You may use the wildcard "*" to match any type and/or subtype.

`type` : | mime type
`subtype` : | mime subtype
`object_type` : | object type

### g_mime_object_new_type ()

    GMimeObject* g_mime_object_new_type         (const char *type,
                                                 const char *subtype);

Performs a lookup of registered GMimeObject subclasses, registered using `g_mime_object_register_type()`, to find an appropriate class capable of handling MIME parts of type `type`/`subtype`. If no class has been registered to handle that type, it looks for a registered class that can handle `type`. If that also fails, then it will use the generic part class, GMimePart.

`type` : | mime type
`subtype` : | mime subtype
Returns : | an appropriate GMimeObject registered to handle mime-types of `type`/`subtype`.

### g_mime_object_ref ()

    void        g_mime_object_ref               (GMimeObject *object);

### Warning

`g_mime_object_ref` is deprecated and should not be used in newly-written code.

Ref's a MIME object.

WARNING: This method is deprecated. Use `g_object_ref()` instead.

`object` : | mime object

### g_mime_object_unref ()

    void        g_mime_object_unref             (GMimeObject *object);

### Warning

`g_mime_object_unref` is deprecated and should not be used in newly-written code.

Unref's a MIME object.

WARNING: This method is deprecated. Use `g_object_unref()` instead.

`object` : | mime object

### g_mime_object_set_content_type ()

    void        g_mime_object_set_content_type  (GMimeObject *object,
                                                 GMimeContentType *mime_type);

Sets the content-type for the specified MIME object.

`object` : | MIME object
`mime_type` : | MIME type

### g_mime_object_get_content_type ()

    const GMimeContentType* g_mime_object_get_content_type
                                                (GMimeObject *object);

Gets the Content-Type object for the given MIME object or `NULL` on fail.

`object` : | MIME object
Returns : | the content-type object for the specified MIME object.

### g_mime_object_set_content_type_parameter ()

    void        g_mime_object_set_content_type_parameter
                                                (GMimeObject *object,
                                                 const char *name,
                                                 const char *value);

Sets the content-type param `name` to the value `value`.

`object` : | MIME object
`name` : | param name
`value` : | param value

### g_mime_object_get_content_type_parameter ()

    const char* g_mime_object_get_content_type_parameter
                                                (GMimeObject *object,
                                                 const char *name);

Gets the value of the content-type param `name` set on the MIME part `object`.

`object` : | MIME object
`name` : | param name
Returns : | the value of the requested content-type param or `NULL` on if the param doesn't exist.

### g_mime_object_set_content_id ()

    void        g_mime_object_set_content_id    (GMimeObject *object,
                                                 const char *content_id);

Sets the Content-Id of the MIME object.

`object` : | MIME object
`content_id` : | content-id (addr-spec portion)

### g_mime_object_get_content_id ()

    const char* g_mime_object_get_content_id    (GMimeObject *object);

Gets the Content-Id of the MIME object or NULL if one is not set.

`object` : | MIME object
Returns : | a const pointer to the Content-Id header.

### g_mime_object_add_header ()

    void        g_mime_object_add_header        (GMimeObject *object,
                                                 const char *header,
                                                 const char *value);

Adds an arbitrary header to the MIME object.

`object` : | mime object
`header` : | header name
`value` : | header value

### g_mime_object_set_header ()

    void        g_mime_object_set_header        (GMimeObject *object,
                                                 const char *header,
                                                 const char *value);

Sets an arbitrary header on the MIME object.

`object` : | mime object
`header` : | header name
`value` : | header value

### g_mime_object_get_header ()

    const char* g_mime_object_get_header        (GMimeObject *object,
                                                 const char *header);

Gets the value of the requested header if it exists or `NULL` otherwise.

`object` : | mime object
`header` : | header name
Returns : | the value of the header `header` if it exists or `NULL` otherwise.

### g_mime_object_remove_header ()

    void        g_mime_object_remove_header     (GMimeObject *object,
                                                 const char *header);

Removed the specified header if it exists.

`object` : | mime object
`header` : | header name

### g_mime_object_get_headers ()

    char*       g_mime_object_get_headers       (GMimeObject *object);

Allocates a string buffer containing all of the MIME object's raw headers.

`object` : | mime object
Returns : | an allocated string containing all of the raw MIME headers.

### g_mime_object_write_to_stream ()

    ssize_t     g_mime_object_write_to_stream   (GMimeObject *object,
                                                 GMimeStream *stream);

Write the contents of the MIME object to `stream`.

`object` : | mime object
`stream` : | stream
Returns : | -1 on fail.

### g_mime_object_to_string ()

    char*       g_mime_object_to_string         (GMimeObject *object);

Allocates a string buffer containing the contents of `object`.

`object` : | mime object
Returns : | an allocated string containing the contents of the mime object.