MediaContainer
Object Hierarchy:
Description:
public abstract class MediaContainer :
MediaObject
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.
Content:
Constants:
Properties:
Creation methods:
- public MediaContainer (
string
id, MediaContainer? parent, string
title, int
child_count)
Create a media container with the specified details.
- public MediaContainer.root (
string
title, int
child_count)
Create a root media container with the specified details, with no
parent container, and with an appropriate ID.
Methods:
- public override void constructed ()
- public abstract async MediaObjects? get_children (
uint
offset, uint
max_count, string
sort_criteria, Cancellable
? cancellable) throws Error
Fetches the list of media objects directly under this container.
- public abstract async MediaObject? find_object (
string
id, Cancellable
? cancellable) throws Error
Recursively searches this container for a media object with the
given ID.
- public void updated (MediaObject? object = null, ObjectEventType event_type = MODIFIED,
bool
sub_tree_update = false)
This method should be called each time this container is updated.
- public override
DIDLLiteObject
? serialize (Serializer serializer, HTTPServer http_server) throws Error
Signals:
- public signal void container_updated (MediaContainer container, MediaObject object, ObjectEventType event_type,
bool
sub_tree_update)
The container_updated signal is emitted if a child container under
the tree of this container has been updated. The object parameter is set to the MediaObject that is the source of the container
update. Note that it may even be set to the container itself.
- public signal void sub_tree_updates_finished (MediaObject sub_tree_root)
The sub_tree_updates_finished signal is emitted when all of the
sub-tree operations are finished. See the #RygelMediaContainer::container_updated signal.
Fields:
Inherited Members:
All known members inherited from class Rygel.MediaObject
All known members inherited from class GLib.Object
- @new
- newv
- new_valist
- get_type
- get_class
- @ref
- unref
- ref_sink
- weak_ref
- weak_unref
- add_weak_pointer
- remove_weak_pointer
- @get
- @set
- get_property
- set_property
- get_data
- set_data
- set_data_full
- steal_data
- get_qdata
- set_qdata
- set_qdata_full
- steal_qdata
- freeze_notify
- thaw_notify
- dispose
- constructed
- notify_property
- connect
- disconnect
- add_toggle_ref
- remove_toggle_ref
- bind_property
- notify
- ref_count