## GMimeMultipart GMimeMultipart — MIME multiparts |

## Functions

GMimeMultipart * | g_mime_multipart_new ()
GMimeMultipart * | g_mime_multipart_new_with_subtype ()
void | g_mime_multipart_set_prologue ()
const char * | g_mime_multipart_get_prologue ()
void | g_mime_multipart_set_epilogue ()
const char * | g_mime_multipart_get_epilogue ()
void | g_mime_multipart_set_boundary ()
const char * | g_mime_multipart_get_boundary ()
int | g_mime_multipart_get_count ()
gboolean | g_mime_multipart_contains ()
int | g_mime_multipart_index_of ()
void | g_mime_multipart_add ()
void | g_mime_multipart_clear ()
void | g_mime_multipart_insert ()
gboolean | g_mime_multipart_remove ()
GMimeObject * | g_mime_multipart_remove_at ()
GMimeObject * | g_mime_multipart_replace ()
GMimeObject * | g_mime_multipart_get_part ()
void | g_mime_multipart_foreach ()
GMimeObject * | g_mime_multipart_get_subpart_from_content_id ()

## Types and Values

struct | GMimeMultipart

## Object Hierarchy

        GObject
        ╰── GMimeObject
            ╰── GMimeMultipart
                ├── GMimeMultipartEncrypted
                ╰── GMimeMultipartSigned

## Description

A GMimeMultipart represents all multipart MIME container parts.

## Functions

### g_mime_multipart_new ()

    GMimeMultipart *
    g_mime_multipart_new (void);

Creates a new MIME multipart object with a default content-type of multipart/mixed.

#### Returns

an empty MIME multipart object with a default content-type of multipart/mixed.

### g_mime_multipart_new_with_subtype ()

    GMimeMultipart *
    g_mime_multipart_new_with_subtype (const char *subtype);

Creates a new MIME multipart object with a content-type of multipart/`subtype` .

#### Parameters

subtype | content-type subtype |

#### Returns

an empty MIME multipart object with a content-type of multipart/`subtype` .

### g_mime_multipart_set_prologue ()

    void
    g_mime_multipart_set_prologue (GMimeMultipart *multipart,
                                   const char *prologue);

Sets the prologue on the multipart.

#### Parameters

multipart | a GMimeMultipart object |
prologue | prologue |

### g_mime_multipart_get_prologue ()

    const char *
    g_mime_multipart_get_prologue (GMimeMultipart *multipart);

Gets the prologue on the multipart.

#### Parameters

multipart | a GMimeMultipart object |

#### Returns

a pointer to the prologue string on the multipart.

### g_mime_multipart_set_epilogue ()

    void
    g_mime_multipart_set_epilogue (GMimeMultipart *multipart,
                                   const char *epilogue);

Sets the epilogue on the multipart.

#### Parameters

multipart | a GMimeMultipart object |
epilogue | epilogue |

### g_mime_multipart_get_epilogue ()

    const char *
    g_mime_multipart_get_epilogue (GMimeMultipart *multipart);

Gets the epilogue on the multipart.

#### Parameters

multipart | a GMimeMultipart object |

#### Returns

a pointer to the epilogue string on the multipart.

### g_mime_multipart_set_boundary ()

    void
    g_mime_multipart_set_boundary (GMimeMultipart *multipart,
                                   const char *boundary);

Sets `boundary` as the boundary on the multipart. If `boundary` is `NULL`, then a boundary will be auto-generated for you.

#### Parameters

multipart | a GMimeMultipart object |
boundary | boundary or `NULL` to autogenerate one |

### g_mime_multipart_get_boundary ()

    const char *
    g_mime_multipart_get_boundary (GMimeMultipart *multipart);

Gets the boundary on the multipart. If the internal boundary is `NULL`, then an auto-generated boundary will be set on the multipart and returned.

#### Parameters

multipart | a GMimeMultipart object |

#### Returns

the boundary on the multipart.

### g_mime_multipart_get_count ()

    int
    g_mime_multipart_get_count (GMimeMultipart *multipart);

Gets the number of parts contained within `multipart` .

#### Parameters

multipart | a GMimeMultipart object |

#### Returns

the number of parts contained within `multipart` .

### g_mime_multipart_contains ()

    gboolean
    g_mime_multipart_contains (GMimeMultipart *multipart,
                               GMimeObject *part);

Checks if `part` is contained within `multipart` .

#### Parameters

multipart | a GMimeMultipart object |
part | a GMimeObject |

#### Returns

`TRUE` if `part` is a subpart of `multipart` or `FALSE` otherwise.

### g_mime_multipart_index_of ()

    int
    g_mime_multipart_index_of (GMimeMultipart *multipart,
                               GMimeObject *part);

Gets the 0-based index of `part` within `multipart` .

#### Parameters

multipart | a GMimeMultipart object |
part | a GMimeObject |

#### Returns

the 0-based index of `part` within `multipart` or `-1` if not found.

### g_mime_multipart_add ()

    void
    g_mime_multipart_add (GMimeMultipart *multipart,
                          GMimeObject *part);

Appends a mime part to `multipart` .

#### Parameters

multipart | a GMimeMultipart object |
part | a GMimeObject |

### g_mime_multipart_clear ()

    void
    g_mime_multipart_clear (GMimeMultipart *multipart);

Removes all subparts from `multipart` .

#### Parameters

multipart | a GMimeMultipart object |

### g_mime_multipart_insert ()

    void
    g_mime_multipart_insert (GMimeMultipart *multipart,
                             int index,
                             GMimeObject *part);

Inserts `part` into `multipart` at the specified `index` .

#### Parameters

multipart | a GMimeMultipart object |
part | a GMimeObject |
index | the 0-based index to insert the part |

### g_mime_multipart_remove ()

    gboolean
    g_mime_multipart_remove (GMimeMultipart *multipart,
                             GMimeObject *part);

Removes the specified `part` from `multipart` .

#### Parameters

multipart | a GMimeMultipart object |
part | a GMimeObject |

#### Returns

`TRUE` if the part was removed or `FALSE` otherwise.

### g_mime_multipart_remove_at ()

    GMimeObject *
    g_mime_multipart_remove_at (GMimeMultipart *multipart,
                                int index);

Removes the part at the specified `index` from `multipart` .

#### Parameters

multipart | a GMimeMultipart object |
index | the 0-based index of the part to remove |

#### Returns

the mime part that was removed or `NULL` if the part was not contained within the multipart.

[transfer full]

### g_mime_multipart_replace ()

    GMimeObject *
    g_mime_multipart_replace (GMimeMultipart *multipart,
                              int index,
                              GMimeObject *replacement);

Replaces the part at the specified `index` within `multipart` with `replacement` .

#### Parameters

multipart | a GMimeMultipart object |
index | the 0-based index of the part to replace |
replacement | a GMimeObject to use as the replacement |

#### Returns

the part that was replaced or `NULL` if the part was not contained within the multipart.

[transfer full]

### g_mime_multipart_get_part ()

    GMimeObject *
    g_mime_multipart_get_part (GMimeMultipart *multipart,
                               int index);

Gets the part at the specified `index` within the multipart.

#### Parameters

multipart | a GMimeMultipart object |
index | the 0-based index of the part |

#### Returns

the part at position `index` .

[transfer none]

### g_mime_multipart_foreach ()

    void
    g_mime_multipart_foreach (GMimeMultipart *multipart,
                              GMimeObjectForeachFunc callback,
                              gpointer user_data);

Recursively calls `callback` on each of `multipart` 's subparts.

#### Parameters

multipart | a GMimeMultipart |
callback | function to call for each of `multipart` 's subparts. | [scope call]
user_data | user-supplied callback data |

### g_mime_multipart_get_subpart_from_content_id ()

    GMimeObject *
    g_mime_multipart_get_subpart_from_content_id
                                   (GMimeMultipart *multipart,
                                    const char *content_id);

Gets the mime part with the content-id `content_id` from the multipart `multipart` .

#### Parameters

multipart | a multipart |
content_id | the content id of the part to look for |

#### Returns

the GMimeObject whose content-id matches the search string, or `NULL` if a match cannot be found.

[transfer none]

## Types and Values

### struct GMimeMultipart

    struct GMimeMultipart;

A base MIME multipart object.

#### Members