GMimePartIter

GMimePartIter — MIME part iterators

Synopsis

                    GMimePartIter;
GMimePartIter *     g_mime_part_iter_new                (GMimeObject *toplevel);
void                g_mime_part_iter_free               (GMimePartIter *iter);
void                g_mime_part_iter_reset              (GMimePartIter *iter);
gboolean            g_mime_part_iter_jump_to            (GMimePartIter *iter,
                                                         const char *path);
gboolean            g_mime_part_iter_is_valid           (GMimePartIter *iter);
gboolean            g_mime_part_iter_next               (GMimePartIter *iter);
gboolean            g_mime_part_iter_prev               (GMimePartIter *iter);
GMimeObject *       g_mime_part_iter_get_toplevel       (GMimePartIter *iter);
GMimeObject *       g_mime_part_iter_get_current        (GMimePartIter *iter);
GMimeObject *       g_mime_part_iter_get_parent         (GMimePartIter *iter);
char *              g_mime_part_iter_get_path           (GMimePartIter *iter);
gboolean            g_mime_part_iter_replace            (GMimePartIter *iter,
                                                         GMimeObject *replacement);
gboolean            g_mime_part_iter_remove             (GMimePartIter *iter);

Description

GMimePartIter is an iterator for traversing a GMimeObject tree in Depth-First order.

Details

GMimePartIter

typedef struct _GMimePartIter GMimePartIter;

A MIME part iterator.


g_mime_part_iter_new ()

GMimePartIter *     g_mime_part_iter_new                (GMimeObject *toplevel);

Creates a new GMimePartIter for iterating over toplevel's subparts.

toplevel :

a GMimeObject to use as the toplevel

Returns :

a newly allocated GMimePartIter which should be freed using g_mime_part_iter_free() when finished with it.

g_mime_part_iter_free ()

void                g_mime_part_iter_free               (GMimePartIter *iter);

Frees the memory allocated by g_mime_part_iter_new().

iter :

a GMimePartIter

g_mime_part_iter_reset ()

void                g_mime_part_iter_reset              (GMimePartIter *iter);

Resets the state of iter to its initial state.

iter :

a GMimePartIter

g_mime_part_iter_jump_to ()

gboolean            g_mime_part_iter_jump_to            (GMimePartIter *iter,
                                                         const char *path);

Updates the state of iter to point to the GMimeObject specified by path.

iter :

a GMimePartIter

path :

a string representing the path to jump to

Returns :

TRUE if the GMimeObject specified by path exists or FALSE otherwise.

g_mime_part_iter_is_valid ()

gboolean            g_mime_part_iter_is_valid           (GMimePartIter *iter);

Checks that the current state of iter is valid.

iter :

a GMimePartIter

Returns :

TRUE if iter is valid or FALSE otherwise.

g_mime_part_iter_next ()

gboolean            g_mime_part_iter_next               (GMimePartIter *iter);

Advances to the next part in the MIME structure used to initialize iter.

iter :

a GMimePartIter

Returns :

TRUE if successful or FALSE otherwise.

g_mime_part_iter_prev ()

gboolean            g_mime_part_iter_prev               (GMimePartIter *iter);

Rewinds to the previous part in the MIME structure used to initialize iter.

iter :

a GMimePartIter

Returns :

TRUE if successful or FALSE otherwise.

g_mime_part_iter_get_toplevel ()

GMimeObject *       g_mime_part_iter_get_toplevel       (GMimePartIter *iter);

Gets the toplevel GMimeObject used to initialize iter.

iter :

a GMimePartIter

Returns :

the toplevel GMimeObject.

g_mime_part_iter_get_current ()

GMimeObject *       g_mime_part_iter_get_current        (GMimePartIter *iter);

Gets the GMimeObject at the current GMimePartIter position.

iter :

a GMimePartIter

Returns :

the current GMimeObject or NULL if the state of iter is invalid.

g_mime_part_iter_get_parent ()

GMimeObject *       g_mime_part_iter_get_parent         (GMimePartIter *iter);

Gets the parent of the GMimeObject at the current GMimePartIter position.

iter :

a GMimePartIter

Returns :

the parent GMimeObject or NULL if the state of iter is invalid.

g_mime_part_iter_get_path ()

char *              g_mime_part_iter_get_path           (GMimePartIter *iter);

Gets the path of the current GMimeObject in the MIME structure used to initialize iter.

iter :

a GMimePartIter

Returns :

a newly allocated string representation of the path to the GMimeObject at the current GMimePartIter position.

g_mime_part_iter_replace ()

gboolean            g_mime_part_iter_replace            (GMimePartIter *iter,
                                                         GMimeObject *replacement);

Replaces the GMimeObject at the current position with replacement.

iter :

a GMimePartIter

replacement :

a GMimeObject

Returns :

TRUE if the part at the current position was replaced or FALSE otherwise.

g_mime_part_iter_remove ()

gboolean            g_mime_part_iter_remove             (GMimePartIter *iter);

Removes the GMimeObject at the current position from its parent. If successful, iter is advanced to the next position (since the current position will become invalid).

iter :

a GMimePartIter

Returns :

TRUE if the part at the current position was removed or FALSE otherwise.

See Also

GMimeObject