RygelMediaContainer

RygelMediaContainer — Represents a container (folder) for media items and containers. Provides basic serialization (to DIDLLiteWriter) implementation. Deriving classes are supposed to provide working implementations of get_children.

Synopsis

#define             RYGEL_TYPE_MEDIA_CONTAINER
void                rygel_media_container_get_children  (RygelMediaContainer *self,
                                                         guint offset,
                                                         guint max_count,
                                                         const gchar *sort_criteria,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback _callback_,
                                                         gpointer _user_data_);
RygelMediaObjects * rygel_media_container_get_children_finish
                                                        (RygelMediaContainer *self,
                                                         GAsyncResult *_res_,
                                                         GError **error);
void                rygel_media_container_find_object   (RygelMediaContainer *self,
                                                         const gchar *id,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback _callback_,
                                                         gpointer _user_data_);
RygelMediaObject *  rygel_media_container_find_object_finish
                                                        (RygelMediaContainer *self,
                                                         GAsyncResult *_res_,
                                                         GError **error);
void                rygel_media_container_updated       (RygelMediaContainer *self);
#define             RYGEL_MEDIA_CONTAINER_UPNP_CLASS
#define             RYGEL_MEDIA_CONTAINER_STORAGE_FOLDER
#define             RYGEL_MEDIA_CONTAINER_MUSIC_ALBUM
#define             RYGEL_MEDIA_CONTAINER_MUSIC_ARTIST
#define             RYGEL_MEDIA_CONTAINER_MUSIC_GENRE
#define             RYGEL_MEDIA_CONTAINER_ALBUM_SORT_CRITERIA
const gchar *       rygel_media_container_get_sort_criteria
                                                        (RygelMediaContainer *self);
void                rygel_media_container_set_sort_criteria
                                                        (RygelMediaContainer *self,
                                                         const gchar *value);
struct              RygelMediaContainer;

Description

Details

RYGEL_TYPE_MEDIA_CONTAINER

#define RYGEL_TYPE_MEDIA_CONTAINER (rygel_media_container_get_type ())

The type for RygelMediaContainer.


rygel_media_container_get_children ()

void                rygel_media_container_get_children  (RygelMediaContainer *self,
                                                         guint offset,
                                                         guint max_count,
                                                         const gchar *sort_criteria,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback _callback_,
                                                         gpointer _user_data_);

Fetches the list of media objects directly under this container.

See also: rygel_media_container_get_children_finish()

self :

the RygelMediaContainer instance

offset :

zero-based index of the first item to return. [in]

max_count :

maximum number of objects to return. [in]

sort_criteria :

sorting order of objects to return. [in]

cancellable :

optional cancellable for this operation. [in][allow-none]

_callback_ :

callback to call when the request is satisfied. [scope async]

_user_data_ :

the data to pass to _callback_ function. [closure]

rygel_media_container_get_children_finish ()

RygelMediaObjects * rygel_media_container_get_children_finish
                                                        (RygelMediaContainer *self,
                                                         GAsyncResult *_res_,
                                                         GError **error);

Fetches the list of media objects directly under this container.

See also: rygel_media_container_get_children()

self :

the RygelMediaContainer instance

_res_ :

a GAsyncResult

error :

location to store the error occuring, or NULL to ignore

Returns :

A list of media objects.

rygel_media_container_find_object ()

void                rygel_media_container_find_object   (RygelMediaContainer *self,
                                                         const gchar *id,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback _callback_,
                                                         gpointer _user_data_);

Recursively searches for media object with the given id in this container.

See also: rygel_media_container_find_object_finish()

self :

the RygelMediaContainer instance

id :

ID of the media object to search for. [in]

cancellable :

optional cancellable for this operation. [in][allow-none]

_callback_ :

callback to call when the request is satisfied. [scope async]

_user_data_ :

the data to pass to _callback_ function. [closure]

rygel_media_container_find_object_finish ()

RygelMediaObject *  rygel_media_container_find_object_finish
                                                        (RygelMediaContainer *self,
                                                         GAsyncResult *_res_,
                                                         GError **error);

Recursively searches for media object with the given id in this container.

See also: rygel_media_container_find_object()

self :

the RygelMediaContainer instance

_res_ :

a GAsyncResult

error :

location to store the error occuring, or NULL to ignore

Returns :

the found media object.

rygel_media_container_updated ()

void                rygel_media_container_updated       (RygelMediaContainer *self);

Method to be be called each time this container is updated (metadata changes for this container, items under it gets removed/added or their metadata changes etc).

self :

the RygelMediaContainer instance

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_ALBUM_SORT_CRITERIA

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

rygel_media_container_get_sort_criteria ()

const gchar *       rygel_media_container_get_sort_criteria
                                                        (RygelMediaContainer *self);

self :

the RygelMediaContainer instance to query

Returns :

the value of the "sort-criteria" property

rygel_media_container_set_sort_criteria ()

void                rygel_media_container_set_sort_criteria
                                                        (RygelMediaContainer *self,
                                                         const gchar *value);

self :

the RygelMediaContainer instance to modify

value :

the new value of the "sort-criteria" property

struct RygelMediaContainer

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

Represents a container (folder) for media items and containers. Provides basic serialization (to DIDLLiteWriter) implementation. Deriving classes are supposed to provide working implementations of get_children.