Rygel.TrackableContainer – librygel-server Reference Manual

# TrackableContainer

## Object Hierarchy:

## Description:

public interface TrackableContainer : MediaContainer

The base class for containers that provide automatic change tracking.

Derived classes should implement the add_child() and remove_child() virtual functions to keep track of child items and child containers.

Rygel server plugins (See #RygelMediaServer) may then call rygel_trackable_container_add_child_tracked() and rygel_trackable_container_remove_child_tracked() to add and remove items, which will then cause the #RygelContainer::container_updated signal to be emitted.

Namespace: Rygel
Package: librygel-server

## Content:

### Methods:

- public async void clear ()
- protected abstract async void add_child (MediaObject object)
  Derived classes should implement this, keeping track of the child item or child container. See the remove_child() virtual function.
- public async void add_child_tracked (MediaObject object)
  Add a child object, emitting the #RygelContainer::container_updated signal with the object.
- protected abstract async void remove_child (MediaObject object)
  Derived classes should implement this, removing the child item or child container from its set of objects. See the add_child() virtual function.
- public async void remove_child_tracked (MediaObject object)
  Add a child object, emitting the #RygelContainer::container_updated signal with the object.
- public virtual string get_service_reset_token ()
  Used to query the (persisted) service reset token from the plug-in.
- public virtual void set_service_reset_token (string token)
  Set a new service reset token.
- public virtual uint32 get_system_update_id ()
  Query the current system update ID, used for the UPnP GetSystemUpdateID implementation.

### Signals:

- protected signal void child_added (MediaObject object)
- protected signal void child_removed (MediaObject object)

### Inherited Members:

All known members inherited from class Rygel.MediaContainer

- ANY
- UPNP_CLASS
- STORAGE_FOLDER
- MUSIC_ALBUM
- MUSIC_ARTIST
- MUSIC_GENRE
- PLAYLIST
- ALBUM_SORT_CRITERIA
- child_count

- empty_child_count
- all_child_count
- create_mode_enabled
- sort_criteria
- ocm_flags
- equal_func
- constructed
- get_children
- find_object

- updated
- serialize
- create_stream_source_for_resource
- container_updated
- sub_tree_updates_finished
- update_id
- storage_used
- total_deleted_child_count

All known members inherited from class Rygel.MediaObject

- id
- ref_id
- upnp_class
- date
- creator
- modified
- object_update_id
- artist
- genre
- parent

- parent_ref
- title
- ocm_flags
- apply_replacements
- get_uris
- get_primary_uri
- add_uri
- constructed
- get_writable

- get_writables
- get_resource_list
- get_resource_by_name
- serialize
- serialize_resource_list
- create_stream_source_for_resource
- compare_string_props
- compare_int_props
- parent_ptr

All known members inherited from class GLib.Object

- interface_find_property
- interface_install_property
- interface_list_properties
- @new
- new_valist
- newv
- new_with_properties
- add_toggle_ref
- add_weak_pointer
- bind_property
- connect
- constructed
- disconnect
- dispose
- dup_data
- dup_qdata
- force_floating

- freeze_notify
- @get
- get_class
- get_data
- get_property
- get_qdata
- get_type
- getv
- is_floating
- notify_property
- @ref
- ref_sink
- replace_data
- replace_qdata
- remove_toggle_ref
- remove_weak_pointer
- @set

- set_data
- set_data_full
- set_property
- set_qdata
- set_qdata_full
- set_valist
- setv
- steal_data
- steal_qdata
- thaw_notify
- unref
- watch_closure
- weak_ref
- weak_unref
- notify
- ref_count