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 the subtree unter this
container has been modified. 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