## RygelMediaDevice RygelMediaDevice — This is a base class for implementations of UPnP devices, such as RygelMediaServer and RygelMediaRenderer. |

## Synopsis

    #define             RYGEL_TYPE_MEDIA_DEVICE
    void                rygel_media_device_add_interface    (RygelMediaDevice *self,
                                                             const gchar *iface);
    void                rygel_media_device_remove_interface (RygelMediaDevice *self,
                                                             const gchar *iface);
    GList *             rygel_media_device_get_interfaces   (RygelMediaDevice *self);
    RygelPlugin *       rygel_media_device_get_plugin       (RygelMediaDevice *self);
    void                rygel_media_device_set_plugin       (RygelMediaDevice *self,
                                                             RygelPlugin *value);
    const gchar *       rygel_media_device_get_title        (RygelMediaDevice *self);
    RygelPluginCapabilities rygel_media_device_get_capabilities
                                                            (RygelMediaDevice *self);
    struct              RygelMediaDevice;
    struct              RygelMediaDeviceClass;

## Object Hierarchy

      GObject
       +----RygelMediaDevice

## Properties

      "capabilities"             RygelPluginCapabilities  : Read / Write / Construct Only
      "plugin"                   RygelPlugin*          : Read / Write / Construct
      "title"                    gchar*                : Read / Write / Construct Only

## Description

Use `rygel_media_device_add_interface()` to allow this device to respond to UPnP messages on a network interface.

## Details

### RYGEL_TYPE_MEDIA_DEVICE

    #define RYGEL_TYPE_MEDIA_DEVICE (rygel_media_device_get_type ())

The type for RygelMediaDevice.

### rygel_media_device_add_interface ()

    void                rygel_media_device_add_interface    (RygelMediaDevice *self,
                                                             const gchar *iface);

Add a network interface the device should listen on.

If the network interface is not already up, it will be used as soon as it's ready. Otherwise it's used right away.

`self` : | the RygelMediaDevice instance
`iface` : | Name of the network interface, e.g. eth0. [in]

### rygel_media_device_remove_interface ()

    void                rygel_media_device_remove_interface (RygelMediaDevice *self,
                                                             const gchar *iface);

Remove a previously added network interface from the device.

`self` : | the RygelMediaDevice instance
`iface` : | Name of the network interface, e.g. eth0. [in]

### rygel_media_device_get_interfaces ()

    GList *             rygel_media_device_get_interfaces   (RygelMediaDevice *self);

Get a list of the network interfaces the device is currently allowed to use.

`self` : | the RygelMediaDevice instance
Returns : | list of interface names.

### rygel_media_device_get_plugin ()

    RygelPlugin *       rygel_media_device_get_plugin       (RygelMediaDevice *self);

Get and return the current value of the "plugin" property.

`self` : | the RygelMediaDevice instance to query
Returns : | the value of the "plugin" property

### rygel_media_device_set_plugin ()

    void                rygel_media_device_set_plugin       (RygelMediaDevice *self,
                                                             RygelPlugin *value);

Set the value of the "plugin" property to `value`.

`self` : | the RygelMediaDevice instance to modify
`value` : | the new value of the "plugin" property

### rygel_media_device_get_title ()

    const gchar *       rygel_media_device_get_title        (RygelMediaDevice *self);

Get and return the current value of the "title" property.

`self` : | the RygelMediaDevice instance to query
Returns : | the value of the "title" property

### rygel_media_device_get_capabilities ()

    RygelPluginCapabilities rygel_media_device_get_capabilities
                                                            (RygelMediaDevice *self);

Get and return the current value of the "capabilities" property.

`self` : | the RygelMediaDevice instance to query
Returns : | the value of the "capabilities" property

### struct RygelMediaDevice

    struct RygelMediaDevice;

This is a base class for implementations of UPnP devices, such as RygelMediaServer and RygelMediaRenderer.

Use `rygel_media_device_add_interface()` to allow this device to respond to UPnP messages on a network interface.

### struct RygelMediaDeviceClass

    struct RygelMediaDeviceClass {
    	GObjectClass parent_class;
    };

The class structure for `RYGEL_TYPE_MEDIA_DEVICE`. All the fields in this structure are private and should never be accessed directly.

GObjectClass `parent_class`; | the parent class structure

## Property Details

### The `"capabilities"` property

      "capabilities"             RygelPluginCapabilities  : Read / Write / Construct Only

capabilities.

### The `"plugin"` property

      "plugin"                   RygelPlugin*          : Read / Write / Construct

plugin.

### The `"title"` property

      "title"                    gchar*                : Read / Write / Construct Only

title.

Default value: NULL