Rygel.WritableContainer – librygel-server Reference Manual

# WritableContainer

## Object Hierarchy:

## Description:

public interface WritableContainer : MediaContainer

This interface should be implemented by 'writable' containers - ones that allow adding (via upload), removal and editing of items directly under them. Currently, only addition and removal are supported.

In addition to implementing this interface, a writable container must also:

1. Provide one URI that points to a writable folder on a GIO-supported filesystem.
2. Monitor not only its own URI but also that of its child items, though the latter is implied in the former if you use GIO for monitoring.

Namespace: Rygel
Package: librygel-server

## Content:

### Constants:

- public const unowned string WRITABLE_SCHEME

### Properties:

- public abstract ArrayList<string> create_classes { set; get; }
  The list of upnp classes that can be added to this container.

### Methods:

- public bool can_create (string upnp_class)
  Check if this container can contain an item with the given upnp class, meaning that rygel_writable_container_add_item() should succeed.
- public abstract async void add_item (MediaFileItem item, Cancellable? cancellable) throws Error
  Add a new item directly under this container.
- public abstract async void add_container (MediaContainer container, Cancellable? cancellable) throws Error
  Add a new container directly under this container.
- public virtual async string add_reference (MediaObject object, Cancellable? cancellable) throws Error
  Add a reference to an object.
- public abstract async void remove_item (string id, Cancellable? cancellable) throws Error
  Remove an item directly under this container that has the ID @id.
- public abstract async void remove_container (string id, Cancellable? cancellable) throws Error
  Remove a container directly under this container that has the ID @id.

### 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