RygelMediaContainer

RygelMediaContainer — This is a container (folder) for media items and child containers.

Types and Values

Description

It provides a basic serialization implementation (to DIDLLiteWriter).

A derived class should provide a working implementation of get_children and should emit the container_updated signal.

When used as a root container, you may wish to use the variables, such as REALNAME, in in the title. See the title property of the RygelMediaObject.

If the container should support UPnP search operations then you also implement the RygelSearchableContainer interface.

If the container should be writable, meaning that it allows adding (via upload), removal and editing of items then you should also implement the RygelWritableContainer interface.

If the container should support the change tracking profile of the UPnP ContentDirectory:3 specification then you should also implement the RygelTrackableContainer interface.

The RygelSimpleContainer class contains a simple memory-based container implementation, but most real-world uses will require custom container implementations.

Functions

Types and Values

RYGEL_TYPE_MEDIA_CONTAINER

#define RYGEL_TYPE_MEDIA_CONTAINER (rygel_media_container_get_type ())

The type for RygelMediaContainer.


RYGEL_MEDIA_CONTAINER_ANY

#define RYGEL_MEDIA_CONTAINER_ANY "DLNA.ORG_AnyContainer"

RYGEL_MEDIA_CONTAINER_UPNP_CLASS

#define RYGEL_MEDIA_CONTAINER_UPNP_CLASS "object.container"

RYGEL_MEDIA_CONTAINER_STORAGE_FOLDER

#define RYGEL_MEDIA_CONTAINER_STORAGE_FOLDER RYGEL_MEDIA_CONTAINER_UPNP_CLASS ".storageFolder"

RYGEL_MEDIA_CONTAINER_MUSIC_ALBUM

#define RYGEL_MEDIA_CONTAINER_MUSIC_ALBUM RYGEL_MEDIA_CONTAINER_UPNP_CLASS ".album.musicAlbum"

RYGEL_MEDIA_CONTAINER_MUSIC_ARTIST

#define RYGEL_MEDIA_CONTAINER_MUSIC_ARTIST RYGEL_MEDIA_CONTAINER_UPNP_CLASS ".person.musicArtist"

RYGEL_MEDIA_CONTAINER_MUSIC_GENRE

#define RYGEL_MEDIA_CONTAINER_MUSIC_GENRE RYGEL_MEDIA_CONTAINER_UPNP_CLASS ".genre.musicGenre"

RYGEL_MEDIA_CONTAINER_PLAYLIST

#define RYGEL_MEDIA_CONTAINER_PLAYLIST RYGEL_MEDIA_CONTAINER_UPNP_CLASS ".playlistContainer"

RYGEL_MEDIA_CONTAINER_ALBUM_SORT_CRITERIA

#define RYGEL_MEDIA_CONTAINER_ALBUM_SORT_CRITERIA "+upnp:class," "+rygel:originalVolumeNumber," "+upnp:originalTrackNumber," "+dc:title"

struct RygelMediaContainer

struct RygelMediaContainer {
	RygelMediaObject parent_instance;
	RygelMediaContainerPrivate * priv;
	guint32 update_id;
	gint64 storage_used;
	gint64 total_deleted_child_count;
};

This is a container (folder) for media items and child containers.

It provides a basic serialization implementation (to DIDLLiteWriter).

A derived class should provide a working implementation of get_children and should emit the container_updated signal.

When used as a root container, you may wish to use the variables, such as REALNAME, in in the title. See the title property of the RygelMediaObject.

If the container should support UPnP search operations then you also implement the RygelSearchableContainer interface.

If the container should be writable, meaning that it allows adding (via upload), removal and editing of items then you should also implement the RygelWritableContainer interface.

If the container should support the change tracking profile of the UPnP ContentDirectory:3 specification then you should also implement the RygelTrackableContainer interface.

The RygelSimpleContainer class contains a simple memory-based container implementation, but most real-world uses will require custom container implementations.


struct RygelMediaContainerClass

struct RygelMediaContainerClass {
	RygelMediaObjectClass parent_class;
	void (*get_children) (RygelMediaContainer* self, guint offset, guint max_count, const gchar* sort_criteria, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	RygelMediaObjects* (*get_children_finish) (RygelMediaContainer* self, GAsyncResult* _res_, GError** error);
	void (*find_object) (RygelMediaContainer* self, const gchar* id, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	RygelMediaObject* (*find_object_finish) (RygelMediaContainer* self, GAsyncResult* _res_, GError** error);
};

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

Members

get_children ()

virtual method called by rygel_media_container_get_children()

 

get_children_finish ()

asynchronous finish function for get_children, called by rygel_media_container_get_children()

 

find_object ()

virtual method called by rygel_media_container_find_object()

 

find_object_finish ()

asynchronous finish function for find_object, called by rygel_media_container_find_object()

 

enum RygelObjectEventType

Members

RYGEL_OBJECT_EVENT_TYPE_ADDED

   

RYGEL_OBJECT_EVENT_TYPE_MODIFIED

   

RYGEL_OBJECT_EVENT_TYPE_DELETED