### Class

# GUPnP RootDevice

#### Description [src]

    class GUPnP.RootDevice : GUPnP.Device {
      parent_instance: GUPnPDevice
    }

Implementation of an UPnP root device.

`GUPnPRootDevice` allows for implementing root devices.

#### Ancestors

- GUPnPDevice
- GUPnPDeviceInfo
- GObject

#### Implements

- GInitable

#### Constructors

###### gupnp_root_device_new

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

###### gupnp_root_device_new_full

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

#### Instance methods

###### gupnp_root_device_get_available

Checks whether `root_device` is available on the network (announcing its presence).

###### gupnp_root_device_get_description_dir

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

###### gupnp_root_device_get_description_document_name

Gets the name of the description document as hosted via HTTP.

###### gupnp_root_device_get_description_path

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

###### gupnp_root_device_get_ssdp_resource_group

Gets the `GSSDPResourceGroup` used by `root_device`.

Available since: 0.20.0

###### gupnp_root_device_set_available

Sets the availability of `root_device` on the network (announcing its presence).

##### Methods inherited from GUPnPDeviceInfo (28)

Please see GUPnPDeviceInfo for a full list of methods.

##### Methods inherited from GObject (43)

Please see GObject for a full list of methods.

##### Methods inherited from GInitable (1)

###### g_initable_init

Initializes the object implementing the interface.

Available since: 2.22

#### Properties

###### GUPnP.RootDevice:available

TRUE if this device is available.

###### GUPnP.RootDevice:description-dir

The path to a folder where description documents are provided.

###### GUPnP.RootDevice:description-path

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

Available since: 0.13.0

##### Properties inherited from GUPnPDevice (1)

###### GUPnP.Device:root-device

The containing `GUPnPRootDevice`, or NULL if this is the root device.

##### Properties inherited from GUPnPDeviceInfo (8)

###### GUPnP.DeviceInfo:context

The `GUPnPContext` to use.

###### GUPnP.DeviceInfo:device-type

The device type, e.g. `urn:schemas-upnp-org:device:InternetGatewayDevice:1`

###### GUPnP.DeviceInfo:document

The description document.

###### GUPnP.DeviceInfo:element

Private property.

###### GUPnP.DeviceInfo:location

The location of the device description file.

###### GUPnP.DeviceInfo:resource-factory

The resource factory to use. Set to NULL for default factory.

###### GUPnP.DeviceInfo:udn

The UDN of this device.

###### GUPnP.DeviceInfo:url-base

The URL base (`GUri`).

#### Signals

##### Signals inherited from GObject (1)

###### GObject.Object::notify

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

#### Class structure

    struct GUPnPRootDeviceClass {
      GUPnPDeviceClass parent_class;
      void (* _gupnp_reserved1) (
    void
      );
      void (* _gupnp_reserved2) (
    void
      );
      void (* _gupnp_reserved3) (
    void
      );
      void (* _gupnp_reserved4) (
    void
      );

    }

###### Class members

`parent_class` |
    GUPnPDeviceClass
| No description available.
`_gupnp_reserved1` |
    void (* _gupnp_reserved1) (
    void
      )
| No description available.
`_gupnp_reserved2` |
    void (* _gupnp_reserved2) (
    void
      )
| No description available.
`_gupnp_reserved3` |
    void (* _gupnp_reserved3) (
    void
      )
| No description available.
`_gupnp_reserved4` |
    void (* _gupnp_reserved4) (
    void
      )
| No description available.