RygelMediaServerPlugin

RygelMediaServerPlugin — This is the base class for every Rygel implementation of a UPnP media server. It should be used either for a real plug-in for the Rygel process or used in-process via the librygel-server API.

Synopsis

#define             RYGEL_TYPE_MEDIA_SERVER_PLUGIN
RygelMediaContainer * rygel_media_server_plugin_get_root_container
                                                        (RygelMediaServerPlugin *self);
const gchar *       rygel_media_server_plugin_get_search_caps
                                                        (RygelMediaServerPlugin *self);
GList *             rygel_media_server_plugin_get_upload_profiles
                                                        (RygelMediaServerPlugin *self);
void                rygel_media_server_plugin_set_upload_profiles
                                                        (RygelMediaServerPlugin *self,
                                                         GList *value);
GList *             rygel_media_server_plugin_get_supported_profiles
                                                        (RygelMediaServerPlugin *self);
void                rygel_media_server_plugin_set_supported_profiles
                                                        (RygelMediaServerPlugin *self,
                                                         GList *value);
struct              RygelMediaServerPlugin;
struct              RygelMediaServerPluginClass;

Object Hierarchy

  GObject
   +----GUPnPResourceFactory
         +----RygelPlugin
               +----RygelMediaServerPlugin

Properties

  "root-container"           RygelMediaContainer*  : Read / Write / Construct Only
  "search-caps"              gchar*                : Read
  "supported-profiles"       gpointer              : Read / Write / Construct
  "upload-profiles"          gpointer              : Read / Write / Construct

Description

The plugin instance should have a RygelMediaContainer instance as its root container, which may be provided to the constructor.

See the <link linkend="implementing-server-plugins">Implementing Server Plugins</link> section.

Details

RYGEL_TYPE_MEDIA_SERVER_PLUGIN

#define RYGEL_TYPE_MEDIA_SERVER_PLUGIN (rygel_media_server_plugin_get_type ())

The type for RygelMediaServerPlugin.


rygel_media_server_plugin_get_root_container ()

RygelMediaContainer * rygel_media_server_plugin_get_root_container
                                                        (RygelMediaServerPlugin *self);

Get and return the current value of the "root-container" property.

self :

the RygelMediaServerPlugin instance to query

Returns :

the value of the "root-container" property

rygel_media_server_plugin_get_search_caps ()

const gchar *       rygel_media_server_plugin_get_search_caps
                                                        (RygelMediaServerPlugin *self);

Get and return the current value of the "search-caps" property.

The SearchCapabilities this MediaServer plugin supports.

Implementations can override this to match their capabilities. If they do, they should take care to include the change tracking capabilities (upnp:objectUpdateID, upnp:containerUpdateID) based on PluginCapabilities.TRACK_CHANGES.

self :

the RygelMediaServerPlugin instance to query

Returns :

the value of the "search-caps" property

rygel_media_server_plugin_get_upload_profiles ()

GList *             rygel_media_server_plugin_get_upload_profiles
                                                        (RygelMediaServerPlugin *self);

Get and return the current value of the "upload-profiles" property.

The list of DLNA profiles the MediaServer in this plugin will accept files as upload.

Can be a subset of :supported_profiles. If set to NULL, it will be reset to :supported_profiles.

self :

the RygelMediaServerPlugin instance to query

Returns :

the value of the "upload-profiles" property

rygel_media_server_plugin_set_upload_profiles ()

void                rygel_media_server_plugin_set_upload_profiles
                                                        (RygelMediaServerPlugin *self,
                                                         GList *value);

Set the value of the "upload-profiles" property to value.

The list of DLNA profiles the MediaServer in this plugin will accept files as upload.

Can be a subset of :supported_profiles. If set to NULL, it will be reset to :supported_profiles.

self :

the RygelMediaServerPlugin instance to modify

value :

the new value of the "upload-profiles" property

rygel_media_server_plugin_get_supported_profiles ()

GList *             rygel_media_server_plugin_get_supported_profiles
                                                        (RygelMediaServerPlugin *self);

Get and return the current value of the "supported-profiles" property.

The list of DLNA profiles the MediaServer in this plugin will be able to serve.

If it does not accept all formats it can serve for uploading, :upload_profiles needs to be set to the supported subset.

By default it will be the supported profiles of the RygelMediaEngine.

self :

the RygelMediaServerPlugin instance to query

Returns :

the value of the "supported-profiles" property

rygel_media_server_plugin_set_supported_profiles ()

void                rygel_media_server_plugin_set_supported_profiles
                                                        (RygelMediaServerPlugin *self,
                                                         GList *value);

Set the value of the "supported-profiles" property to value.

The list of DLNA profiles the MediaServer in this plugin will be able to serve.

If it does not accept all formats it can serve for uploading, :upload_profiles needs to be set to the supported subset.

By default it will be the supported profiles of the RygelMediaEngine.

self :

the RygelMediaServerPlugin instance to modify

value :

the new value of the "supported-profiles" property

struct RygelMediaServerPlugin

struct RygelMediaServerPlugin;

This is the base class for every Rygel implementation of a UPnP media server. It should be used either for a real plug-in for the Rygel process or used in-process via the librygel-server API.

The plugin instance should have a RygelMediaContainer instance as its root container, which may be provided to the constructor.

See the <link linkend="implementing-server-plugins">Implementing Server Plugins</link> section.


struct RygelMediaServerPluginClass

struct RygelMediaServerPluginClass {
	RygelPluginClass parent_class;
	const gchar* (*get_search_caps) (RygelMediaServerPlugin* self);
};

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

RygelPluginClass parent_class;

the parent class structure

get_search_caps ()

getter method for the abstract property "search-caps"

Property Details

The "root-container" property

  "root-container"           RygelMediaContainer*  : Read / Write / Construct Only

root-container.


The "search-caps" property

  "search-caps"              gchar*                : Read

The SearchCapabilities this MediaServer plugin supports.

Implementations can override this to match their capabilities. If they do, they should take care to include the change tracking capabilities (upnp:objectUpdateID, upnp:containerUpdateID) based on PluginCapabilities.TRACK_CHANGES.

Default value: NULL


The "supported-profiles" property

  "supported-profiles"       gpointer              : Read / Write / Construct

The list of DLNA profiles the MediaServer in this plugin will be able to serve.

If it does not accept all formats it can serve for uploading, :upload_profiles needs to be set to the supported subset.

By default it will be the supported profiles of the RygelMediaEngine.


The "upload-profiles" property

  "upload-profiles"          gpointer              : Read / Write / Construct

The list of DLNA profiles the MediaServer in this plugin will accept files as upload.

Can be a subset of :supported_profiles. If set to NULL, it will be reset to :supported_profiles.