### Class

# GUPnP DeviceInfo

#### Description [src]

    abstract class GUPnP.DeviceInfo : GObject.Object {
      parent_instance: GObject
    }

Device information shared by local and remote devices

This class aggregates the information that is shared between remote and local devices.

#### Ancestors

- GObject

#### Descendants

- GUPnPDevice
- GUPnPDeviceProxy

#### Instance methods

###### gupnp_device_info_get_context

Get the associated `GUPnPContext`.

###### gupnp_device_info_get_description_value

This function provides generic access to the contents of arbitrary elements in the device description file.

Available since: 0.14.0

###### gupnp_device_info_get_device

Get the device with type `type` directly contained in `info` as a new object implementing `GUPnPDeviceInfo`, or `NULL` if no such device was found. The returned object should be unreffed when done.

###### gupnp_device_info_get_device_type

Get the UPnP device type of this `GUPnPDeviceInfo`, e.g. `urn:schemas-upnp-org:device:InternetGatewayDevice:1`

###### gupnp_device_info_get_friendly_name

Get the friendly name of the device.

###### gupnp_device_info_get_icon_async

Download the device icon matching the request parameters. For details on the lookup procedure, see `gupnp_device_info_get_icon_url()`

###### gupnp_device_info_get_icon_finish

No description available.

###### gupnp_device_info_get_icon_url

Get an URL pointing to the icon most closely matching the given criteria, or `NULL`.

###### gupnp_device_info_get_location

Get the URL of the device file.

###### gupnp_device_info_get_manufacturer

Get the manufacturer of the device.

###### gupnp_device_info_get_manufacturer_url

Get an URL pointing to the manufacturer’s website.

###### gupnp_device_info_get_model_description

Get the description of the device model.

###### gupnp_device_info_get_model_name

Get the model name of the device.

###### gupnp_device_info_get_model_number

Get the model number of the device.

###### gupnp_device_info_get_model_url

Get an URL pointing to the device model’s website.

###### gupnp_device_info_get_presentation_url

Get an URL pointing to the device’s presentation page, for web-based administration, if available.

###### gupnp_device_info_get_resource_factory

Get the `GUPnPResourceFactory` used by the `device_info`.

###### gupnp_device_info_get_serial_number

Get the serial number of the device.

###### gupnp_device_info_get_service

Get the service with type `type` directly contained in `info` as a new object implementing `GUPnPServiceInfo`, or `NULL` if no such device was found.

###### gupnp_device_info_get_udn

Get the Unique Device Name of the device.

###### gupnp_device_info_get_upc

Get the Universal Product Code of the device.

###### gupnp_device_info_get_url_base

Get the URL base of this device.

###### gupnp_device_info_list_device_types

Get a `GList` of strings representing the types of the devices directly contained in `info`.

###### gupnp_device_info_list_devices

Get a `GList` of new objects implementing `GUPnPDeviceInfo` representing the devices directly contained in `info`, excluding itself.

###### gupnp_device_info_list_dlna_capabilities

Get a `GList` of strings that represent the device capabilities as announced in the device description file using the <dlna:X_DLNACAP> element.

Available since: 0.14.0

###### gupnp_device_info_list_dlna_device_class_identifier

Get a list of strings that represent the device class and version as announced in the device description file using the `<dlna:X_DLNADOC>` element, e.g. `DMS-1.51`, `M-DMS-1.51` and so on.

Available since: 0.20.4

###### gupnp_device_info_list_service_types

Get a `GList` of strings representing the types of the services directly contained in `info`, but not in its subdevices.

###### gupnp_device_info_list_services

Get a `GList` of new objects implementing `GUPnPServiceInfo` representing the services directly contained in `info`. The returned list should be g_list_free()’d and the elements should be g_object_unref()’d.

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

Please see GObject for a full list of methods.

#### Properties

###### 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 GUPnPDeviceInfoClass {
      GObjectClass parent_class;
      xmlNode* (* get_element) (
        GUPnPDeviceInfo* info
      );
      GUPnPDeviceInfo* (* create_device_instance) (
        GUPnPDeviceInfo* info,
        xmlNode* element
      );
      GUPnPServiceInfo* (* create_service_instance) (
        GUPnPDeviceInfo* info,
        xmlNode* element
      );
      void (* _gupnp_reserved1) (
    void
      );
      void (* _gupnp_reserved2) (
    void
      );
      void (* _gupnp_reserved3) (
    void
      );
      void (* _gupnp_reserved4) (
    void
      );

    }

###### Class members

`parent_class` |
    GObjectClass
| No description available.
`get_element` |
    xmlNode* (* get_element) (
        GUPnPDeviceInfo* info
      )
| No description available.
`create_device_instance` |
    GUPnPDeviceInfo* (* create_device_instance) (
        GUPnPDeviceInfo* info,
        xmlNode* element
      )
| No description available.
`create_service_instance` |
    GUPnPServiceInfo* (* create_service_instance) (
        GUPnPDeviceInfo* info,
        xmlNode* element
      )
| 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.

#### Virtual methods

###### GUPnP.DeviceInfoClass.create_device_instance

No description available.

###### GUPnP.DeviceInfoClass.create_service_instance

No description available.

###### GUPnP.DeviceInfoClass.get_element

No description available.