### Method

# GUPnP DeviceInfo get_icon_url

#### Declaration [src]

    char*
    gupnp_device_info_get_icon_url (
      GUPnPDeviceInfo* info,
      const char* requested_mime_type,
      int requested_depth,
      int requested_width,
      int requested_height,
      gboolean prefer_bigger,
      char** mime_type,
      int* depth,
      int* width,
      int* height
    )

#### Description [src]

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

If `requested_mime_type` is set, only icons with this mime type will be returned. If `requested_depth` is set, only icons with this or lower depth will be returned. If `requested_width` and/or `requested_height` are set, only icons that are this size or smaller are returned, unless `prefer_bigger` is set, in which case the next biggest icon will be returned. The returned strings should be freed.

#### Parameters

`requested_mime_type`

  Type: `const char*`

  The requested file format, or `NULL` for any.

  The argument can be `NULL`.
  The data is owned by the caller of the method.
  The value is a NUL terminated UTF-8 string.

`requested_depth`

  Type: `int`

  The requested color depth, or -1 for any.

`requested_width`

  Type: `int`

  The requested width, or -1 for any.

`requested_height`

  Type: `int`

  The requested height, or -1 for any.

`prefer_bigger`

  Type: `gboolean`

  `TRUE` if a bigger, rather than a smaller icon should be returned if no exact match could be found.

`mime_type`

  Type: `char**`

  The location where to store the the format of the returned icon, or `NULL`. The returned string should be freed after use.

  The argument will be set by the function.
  The argument can be `NULL`.
  The caller of the method takes ownership of the returned data, and is responsible for freeing it.
  The value is a NUL terminated UTF-8 string.

`depth`

  Type: `int*`

  The location where to store the depth of the returned icon, or `NULL`.

  The argument will be set by the function.
  The argument can be `NULL`.

`width`

  Type: `int*`

  The location where to store the width of the returned icon, or `NULL`.

  The argument will be set by the function.
  The argument can be `NULL`.

`height`

  Type: `int*`

  The location where to store the height of the returned icon, or `NULL`.

  The argument will be set by the function.
  The argument can be `NULL`.

#### Return value

Type: `char*`

A string, or `NULL`. `g_free()` after use.

The caller of the method takes ownership of the returned data, and is responsible for freeing it.
The return value can be `NULL`.
The value is a NUL terminated UTF-8 string.