## RygelMediaDevice

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

## Functions

#define | RYGEL_TYPE_MEDIA_DEVICE
void | rygel_media_device_add_interface ()
void | rygel_media_device_remove_interface ()
GList * | rygel_media_device_get_interfaces ()
RygelPlugin * | rygel_media_device_get_plugin ()
void | rygel_media_device_set_plugin ()
const gchar * | rygel_media_device_get_title ()
RygelPluginCapabilities | rygel_media_device_get_capabilities ()

## Properties

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

## Types and Values

struct | RygelMediaDevice
struct | RygelMediaDeviceClass

## Object Hierarchy

        GObject
        ╰── RygelMediaDevice

## Description

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

## Functions

### 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.

#### Parameters

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.

#### Parameters

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.

#### Parameters

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.

#### Parameters

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` .

#### Parameters

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.

#### Parameters

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.

#### Parameters

self | the RygelMediaDevice instance to query |

#### Returns

the value of the "capabilities" property

## Types and Values

### 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.

#### Members

GObjectClass `parent_class`; | the parent class structure |

## Property Details

### The `“capabilities”` property

      “capabilities”             RygelPluginCapabilities

capabilities.

Flags: Read / Write / Construct Only

### The `“plugin”` property

      “plugin”                   RygelPlugin *

plugin.

Flags: Read / Write / Construct

### The `“title”` property

      “title”                    gchar *

title.

Flags: Read / Write / Construct Only

Default value: NULL