## RygelXMLUtilsIterator

RygelXMLUtilsIterator — Convenience class to iterate over Xml.Node's siblings in vala's foreach loop.

## Functions

RygelXMLUtilsIterator * | rygel_xml_utils_iterator_iterator ()
gboolean | rygel_xml_utils_iterator_next ()
xmlNode * | rygel_xml_utils_iterator_get ()
RygelXMLUtilsIterator * | rygel_xml_utils_iterator_new ()
gpointer | rygel_xml_utils_iterator_ref ()
void | rygel_xml_utils_iterator_unref ()
GParamSpec * | rygel_xml_utils_param_spec_iterator ()
void | rygel_xml_utils_value_set_iterator ()
gpointer | rygel_xml_utils_value_get_iterator ()
void | rygel_xml_utils_value_take_iterator ()
RygelXMLUtilsChildIterator * | rygel_xml_utils_child_iterator_new ()
RygelXMLUtils * | rygel_xml_utils_new ()
xmlNode * | rygel_xml_utils_get_element ()
gpointer | rygel_xml_utils_ref ()
void | rygel_xml_utils_unref ()
GParamSpec * | rygel_param_spec_xml_utils ()
void | rygel_value_set_xml_utils ()
gpointer | rygel_value_get_xml_utils ()
void | rygel_value_take_xml_utils ()

## Types and Values

#define | RYGEL_TYPE_XML_UTILS
#define | RYGEL_XML_UTILS_TYPE_ITERATOR
struct | RygelXMLUtilsIterator
struct | RygelXMLUtilsIteratorClass
#define | RYGEL_XML_UTILS_TYPE_CHILD_ITERATOR
struct | RygelXMLUtilsChildIterator
struct | RygelXMLUtilsChildIteratorClass
struct | RygelXMLUtils
struct | RygelXMLUtilsClass

## Object Hierarchy

        RygelXMLUtils
        RygelXMLUtilsIterator
        ╰── RygelXMLUtilsChildIterator

## Description

## Functions

### rygel_xml_utils_iterator_iterator ()

    RygelXMLUtilsIterator *
    rygel_xml_utils_iterator_iterator (RygelXMLUtilsIterator *self);

#### Parameters

self | the RygelXMLUtilsIterator instance |

### rygel_xml_utils_iterator_next ()

    gboolean
    rygel_xml_utils_iterator_next (RygelXMLUtilsIterator *self);

#### Parameters

self | the RygelXMLUtilsIterator instance |

### rygel_xml_utils_iterator_get ()

    xmlNode *
    rygel_xml_utils_iterator_get (RygelXMLUtilsIterator *self);

#### Parameters

self | the RygelXMLUtilsIterator instance |

### rygel_xml_utils_iterator_new ()

    RygelXMLUtilsIterator *
    rygel_xml_utils_iterator_new (xmlNode *node);

#### Parameters

node |  |

### rygel_xml_utils_iterator_ref ()

    gpointer
    rygel_xml_utils_iterator_ref (gpointer instance);

Increases the reference count of `object` .

#### Parameters

instance | a RygelXMLUtilsIterator. |

#### Returns

the same `object`

### rygel_xml_utils_iterator_unref ()

    void
    rygel_xml_utils_iterator_unref (gpointer instance);

Decreases the reference count of `object` . When its reference count drops to 0, the object is finalized (i.e. its memory is freed).

#### Parameters

instance | a RygelXMLUtilsIterator. |

### rygel_xml_utils_param_spec_iterator ()

    GParamSpec *
    rygel_xml_utils_param_spec_iterator (const gchar *name,
                                         const gchar *nick,
                                         const gchar *blurb,
                                         GType object_type,
                                         GParamFlags flags);

Creates a new GParamSpecBoxed instance specifying a `RYGEL_XML_UTILS_TYPE_ITERATOR` derived property.

See ``g_param_spec_internal()`` for details on property names.

#### Parameters

name | canonical name of the property specified |
nick | nick name for the property specified |
blurb | description of the property specified |
object_type | `RYGEL_XML_UTILS_TYPE_ITERATOR` derived type of this property |
flags | flags for the property specified |

### rygel_xml_utils_value_set_iterator ()

    void
    rygel_xml_utils_value_set_iterator (GValue *value,
                                        gpointer v_object);

Set the contents of a `RYGEL_XML_UTILS_TYPE_ITERATOR` derived GValue to `v_object` .

`rygel_xml_utils_value_set_iterator()` increases the reference count of `v_object` (the GValue holds a reference to `v_object`). If you do not wish to increase the reference count of the object (i.e. you wish to pass your current reference to the GValue because you no longer need it), use `rygel_xml_utils_value_take_iterator()` instead.

It is important that your GValue holds a reference to `v_object` (either its own, or one it has taken) to ensure that the object won't be destroyed while the GValue still exists).

#### Parameters

value | a valid GValue of `RYGEL_XML_UTILS_TYPE_ITERATOR` derived type |
v_object | object value to be set |

### rygel_xml_utils_value_get_iterator ()

    gpointer
    rygel_xml_utils_value_get_iterator (const GValue *value);

Get the contents of a `RYGEL_XML_UTILS_TYPE_ITERATOR` derived GValue.

#### Parameters

value | a valid GValue of `RYGEL_XML_UTILS_TYPE_ITERATOR` derived type |

#### Returns

object contents of `value`

### rygel_xml_utils_value_take_iterator ()

    void
    rygel_xml_utils_value_take_iterator (GValue *value,
                                         gpointer v_object);

Sets the contents of a `RYGEL_XML_UTILS_TYPE_ITERATOR` derived GValue to `v_object` and takes over the ownership of the callers reference to `v_object` ; the caller doesn't have to unref it any more (i.e. the reference count of the object is not increased).

If you want the GValue to hold its own reference to `v_object` , use `rygel_xml_utils_value_set_iterator()` instead.

#### Parameters

value | a valid GValue of `RYGEL_XML_UTILS_TYPE_ITERATOR` derived type |
v_object | object value to be set |

### rygel_xml_utils_child_iterator_new ()

    RygelXMLUtilsChildIterator *
    rygel_xml_utils_child_iterator_new (xmlNode *node);

#### Parameters

node |  |

### rygel_xml_utils_new ()

    RygelXMLUtils *
    rygel_xml_utils_new (void);

### rygel_xml_utils_get_element ()

    xmlNode *
    rygel_xml_utils_get_element (xmlNode *node,
                                 ...);

#### Parameters

node |  |
... |  |

### rygel_xml_utils_ref ()

    gpointer
    rygel_xml_utils_ref (gpointer instance);

Increases the reference count of `object` .

#### Parameters

instance | a RygelXMLUtils. |

#### Returns

the same `object`

### rygel_xml_utils_unref ()

    void
    rygel_xml_utils_unref (gpointer instance);

Decreases the reference count of `object` . When its reference count drops to 0, the object is finalized (i.e. its memory is freed).

#### Parameters

instance | a RygelXMLUtils. |

### rygel_param_spec_xml_utils ()

    GParamSpec *
    rygel_param_spec_xml_utils (const gchar *name,
                                const gchar *nick,
                                const gchar *blurb,
                                GType object_type,
                                GParamFlags flags);

Creates a new GParamSpecBoxed instance specifying a `RYGEL_TYPE_XML_UTILS` derived property.

See ``g_param_spec_internal()`` for details on property names.

#### Parameters

name | canonical name of the property specified |
nick | nick name for the property specified |
blurb | description of the property specified |
object_type | `RYGEL_TYPE_XML_UTILS` derived type of this property |
flags | flags for the property specified |

### rygel_value_set_xml_utils ()

    void
    rygel_value_set_xml_utils (GValue *value,
                               gpointer v_object);

Set the contents of a `RYGEL_TYPE_XML_UTILS` derived GValue to `v_object` .

`rygel_value_set_xml_utils()` increases the reference count of `v_object` (the GValue holds a reference to `v_object`). If you do not wish to increase the reference count of the object (i.e. you wish to pass your current reference to the GValue because you no longer need it), use `rygel_value_take_xml_utils()` instead.

It is important that your GValue holds a reference to `v_object` (either its own, or one it has taken) to ensure that the object won't be destroyed while the GValue still exists).

#### Parameters

value | a valid GValue of `RYGEL_TYPE_XML_UTILS` derived type |
v_object | object value to be set |

### rygel_value_get_xml_utils ()

    gpointer
    rygel_value_get_xml_utils (const GValue *value);

Get the contents of a `RYGEL_TYPE_XML_UTILS` derived GValue.

#### Parameters

value | a valid GValue of `RYGEL_TYPE_XML_UTILS` derived type |

#### Returns

object contents of `value`

### rygel_value_take_xml_utils ()

    void
    rygel_value_take_xml_utils (GValue *value,
                                gpointer v_object);

Sets the contents of a `RYGEL_TYPE_XML_UTILS` derived GValue to `v_object` and takes over the ownership of the callers reference to `v_object` ; the caller doesn't have to unref it any more (i.e. the reference count of the object is not increased).

If you want the GValue to hold its own reference to `v_object` , use `rygel_value_set_xml_utils()` instead.

#### Parameters

value | a valid GValue of `RYGEL_TYPE_XML_UTILS` derived type |
v_object | object value to be set |

## Types and Values

### RYGEL_TYPE_XML_UTILS

    #define RYGEL_TYPE_XML_UTILS (rygel_xml_utils_get_type ())

The type for RygelXMLUtils.

### RYGEL_XML_UTILS_TYPE_ITERATOR

    #define RYGEL_XML_UTILS_TYPE_ITERATOR (rygel_xml_utils_iterator_get_type ())

The type for RygelXMLUtilsIterator.

### struct RygelXMLUtilsIterator

    struct RygelXMLUtilsIterator;

Convenience class to iterate over Xml.Node's siblings in vala's foreach loop.

### struct RygelXMLUtilsIteratorClass

    struct RygelXMLUtilsIteratorClass {
    	GTypeClass parent_class;
    	void (*finalize) (RygelXMLUtilsIterator *self);
    };

The class structure for `RYGEL_XML_UTILS_TYPE_ITERATOR`. All the fields in this structure are private and should never be accessed directly.

#### Members

`finalize` () |  |

### RYGEL_XML_UTILS_TYPE_CHILD_ITERATOR

    #define RYGEL_XML_UTILS_TYPE_CHILD_ITERATOR (rygel_xml_utils_child_iterator_get_type ())

The type for RygelXMLUtilsChildIterator.

### struct RygelXMLUtilsChildIterator

    struct RygelXMLUtilsChildIterator;

### struct RygelXMLUtilsChildIteratorClass

    struct RygelXMLUtilsChildIteratorClass {
    	RygelXMLUtilsIteratorClass parent_class;
    };

The class structure for `RYGEL_XML_UTILS_TYPE_CHILD_ITERATOR`. All the fields in this structure are private and should never be accessed directly.

#### Members

### struct RygelXMLUtils

    struct RygelXMLUtils;

XML utility API.

### struct RygelXMLUtilsClass

    struct RygelXMLUtilsClass {
    	GTypeClass parent_class;
    	void (*finalize) (RygelXMLUtils *self);
    };

The class structure for `RYGEL_TYPE_XML_UTILS`. All the fields in this structure are private and should never be accessed directly.

#### Members

`finalize` () |  |