## GUPnPRootDevice

GUPnPRootDevice — Class for root device implementations.

## Synopsis

                        GUPnPRootDevice;
    GUPnPRootDevice *   gupnp_root_device_new               (GUPnPContext *context,
                                                             const char *description_path,
                                                             const char *description_dir);
    GUPnPRootDevice *   gupnp_root_device_new_full          (GUPnPContext *context,
                                                             GUPnPResourceFactory *factory,
                                                             GUPnPXMLDoc *description_doc,
                                                             const char *description_path,
                                                             const char *description_dir);
    void                gupnp_root_device_set_available     (GUPnPRootDevice *root_device,
                                                             gboolean available);
    gboolean            gupnp_root_device_get_available     (GUPnPRootDevice *root_device);
    const char *        gupnp_root_device_get_relative_location
                                                            (GUPnPRootDevice *root_device);
    const char *        gupnp_root_device_get_description_dir
                                                            (GUPnPRootDevice *root_device);
    const char *        gupnp_root_device_get_description_path
                                                            (GUPnPRootDevice *root_device);

## Object Hierarchy

      GObject
       +----GUPnPDeviceInfo
             +----GUPnPDevice
                   +----GUPnPRootDevice

## Properties

      "available"                gboolean              : Read / Write
      "description-dir"          gchar*                : Read / Write / Construct Only
      "description-doc"          GUPnPXMLDoc*          : Write / Construct Only
      "description-path"         gchar*                : Read / Write / Construct Only

## Description

GUPnPRootDevice allows for implementing root devices.

## Details

### GUPnPRootDevice

    typedef struct _GUPnPRootDevice GUPnPRootDevice;

This struct contains private data only, and should be accessed using the functions below.

### gupnp_root_device_new ()

    GUPnPRootDevice *   gupnp_root_device_new               (GUPnPContext *context,
                                                             const char *description_path,
                                                             const char *description_dir);

Create a new GUPnPRootDevice object, automatically loading and parsing device description document from `description_path`.

`context` : | The GUPnPContext
`description_path` : | Path to device description document. This could either be an absolute path or path relative to `description_dir`.
`description_dir` : | Path to directory where description documents are provided.
Returns : | A new `GUPnPRootDevice` object.

### gupnp_root_device_new_full ()

    GUPnPRootDevice *   gupnp_root_device_new_full          (GUPnPContext *context,
                                                             GUPnPResourceFactory *factory,
                                                             GUPnPXMLDoc *description_doc,
                                                             const char *description_path,
                                                             const char *description_dir);

Create a new GUPnPRootDevice, automatically loading and parsing device description document from `description_path` if `description_doc` is `NULL`.

`context` : | A GUPnPContext
`factory` : | A GUPnPResourceFactory
`description_doc` : | Device description document, or `NULL`
`description_path` : | Path to device description document. This could either be an absolute path or path relative to `description_dir`.
`description_dir` : | Path to directory where description documents are provided.
Returns : | A new GUPnPRootDevice object.

### gupnp_root_device_set_available ()

    void                gupnp_root_device_set_available     (GUPnPRootDevice *root_device,
                                                             gboolean available);

Controls whether or not `root_device` is available (announcing its presence).

`root_device` : | A GUPnPRootDevice
`available` : | `TRUE` if `root_device` should be available

### gupnp_root_device_get_available ()

    gboolean            gupnp_root_device_get_available     (GUPnPRootDevice *root_device);

Get whether or not `root_device` is available (announcing its presence).

`root_device` : | A GUPnPRootDevice
Returns : | `TRUE` if `root_device` is available, `FALSE` otherwise.

### gupnp_root_device_get_relative_location ()

    const char *        gupnp_root_device_get_relative_location
                                                            (GUPnPRootDevice *root_device);

Get the relative location of `root_device`.

`root_device` : | A GUPnPRootDevice
Returns : | The relative location of `root_device`.

### gupnp_root_device_get_description_dir ()

    const char *        gupnp_root_device_get_description_dir
                                                            (GUPnPRootDevice *root_device);

Get the path to the directory containing description documents related to `root_device`.

`root_device` : | A GUPnPRootDevice
Returns : | The path to description document directory of `root_device`.

### gupnp_root_device_get_description_path ()

    const char *        gupnp_root_device_get_description_path
                                                            (GUPnPRootDevice *root_device);

Get the path to the device description document of `root_device`.

`root_device` : | A GUPnPRootDevice
Returns : | The path to device description document of `root_device`.

## Property Details

### The `"available"` property

      "available"                gboolean              : Read / Write

TRUE if this device is available.

Default value: FALSE

### The `"description-dir"` property

      "description-dir"          gchar*                : Read / Write / Construct Only

The path to directory where description documents are provided.

Default value: NULL

### The `"description-doc"` property

      "description-doc"          GUPnPXMLDoc*          : Write / Construct Only

Device description document. Constructor property.

### The `"description-path"` property

      "description-path"         gchar*                : Read / Write / Construct Only

The path to device description document. This could either be an absolute path or path relative to GUPnPRootDevice:description-dir.

Default value: NULL