## RygelRootDeviceFactory RygelRootDeviceFactory — Factory for RootDevice objects. Give it a plugin and it will create a Root device for that. |

## Synopsis

    #define             RYGEL_TYPE_ROOT_DEVICE_FACTORY
    RygelRootDevice *   rygel_root_device_factory_create    (RygelRootDeviceFactory *self,
                                                             RygelPlugin *plugin,
                                                             GError **error);
    RygelRootDeviceFactory * rygel_root_device_factory_new  (GUPnPContext *context,
                                                             GError **error);
    struct              RygelRootDeviceFactory;
    gpointer            rygel_root_device_factory_ref       (gpointer instance);
    void                rygel_root_device_factory_unref     (gpointer instance);
    GParamSpec *        rygel_param_spec_root_device_factory
                                                            (const gchar *name,
                                                             const gchar *nick,
                                                             const gchar *blurb,
                                                             GType object_type,
                                                             GParamFlags flags);
    void                rygel_value_set_root_device_factory (GValue *value,
                                                             gpointer v_object);
    gpointer            rygel_value_get_root_device_factory (const GValue *value);
    void                rygel_value_take_root_device_factory
                                                            (GValue *value,
                                                             gpointer v_object);
    enum                RootDeviceFactoryError;

## Object Hierarchy

      RygelRootDeviceFactory

## Description

## Details

### RYGEL_TYPE_ROOT_DEVICE_FACTORY

    #define RYGEL_TYPE_ROOT_DEVICE_FACTORY (rygel_root_device_factory_get_type ())

The type for RygelRootDeviceFactory.

### rygel_root_device_factory_create ()

    RygelRootDevice *   rygel_root_device_factory_create    (RygelRootDeviceFactory *self,
                                                             RygelPlugin *plugin,
                                                             GError **error);

`self` : | the RygelRootDeviceFactory instance
`error` : | location to store the error occuring, or `NULL` to ignore

### rygel_root_device_factory_new ()

    RygelRootDeviceFactory * rygel_root_device_factory_new  (GUPnPContext *context,
                                                             GError **error);

`error` : | location to store the error occuring, or `NULL` to ignore

### struct RygelRootDeviceFactory

    struct RygelRootDeviceFactory;

Factory for RootDevice objects. Give it a plugin and it will create a Root device for that.

### rygel_root_device_factory_ref ()

    gpointer            rygel_root_device_factory_ref       (gpointer instance);

Increases the reference count of `object`.

`instance` : | a RygelRootDeviceFactory.
Returns : | the same `object`

### rygel_root_device_factory_unref ()

    void                rygel_root_device_factory_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).

`instance` : | a RygelRootDeviceFactory.

### rygel_param_spec_root_device_factory ()

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

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

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

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

### rygel_value_set_root_device_factory ()

    void                rygel_value_set_root_device_factory (GValue *value,
                                                             gpointer v_object);

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

``rygel_value_set_root_device_factory()`` 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_root_device_factory()`` 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).

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

### rygel_value_get_root_device_factory ()

    gpointer            rygel_value_get_root_device_factory (const GValue *value);

Get the contents of a `RYGEL_TYPE_ROOT_DEVICE_FACTORY` derived GValue.

`value` : | a valid GValue of `RYGEL_TYPE_ROOT_DEVICE_FACTORY` derived type
Returns : | object contents of `value`

### rygel_value_take_root_device_factory ()

    void                rygel_value_take_root_device_factory
                                                            (GValue *value,
                                                             gpointer v_object);

Sets the contents of a `RYGEL_TYPE_ROOT_DEVICE_FACTORY` 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_root_device_factory()`` instead.

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

### enum RootDeviceFactoryError

    typedef enum {
    	ROOT_DEVICE_FACTORY_ERROR_XML_PARSE
    } RootDeviceFactoryError;