Rygel.SearchableContainer – librygel-server Reference Manual

# SearchableContainer

## Object Hierarchy:

## Description:

public interface SearchableContainer : MediaContainer

The base class for searchable containers.

Classes that implement this interface can, for instance:

1. Allow backends to implement a UPnP Search call using native searching (such as SQL or SPARQL queries).
2. Implement searching via the naïve default implementation provided by rygel_searchable_container_simple_search(), which does a recursive tree walk.

The search_classes property lists what information this container may be searched for. It is mapped to upnp:searchClass (with includeDerived assumed to be false),

All known implementing classes:

- SimpleContainer

Namespace: Rygel
Package: librygel-server

## Content:

### Properties:

- public abstract ArrayList<string> search_classes { set; get; }

### Methods:

- public abstract async MediaObjects? search (SearchExpression? expression, uint offset, uint max_count, string sort_criteria, Cancellable? cancellable, out uint total_matches) throws Error
  Recursively searches for all media objects that satisfy the given search expression in this container.
- public async MediaObjects? simple_search (SearchExpression? expression, uint offset, uint max_count, string sort_criteria, Cancellable? cancellable, out uint total_matches) throws Error
  Utility method that retrieves all children and recursively searches for all media objects that satisfy the given search expression in this container.
- public async MediaObject? find_object (string id, Cancellable? cancellable) throws Error
  Recursively searches for media object with the given id in this container.

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