RygelSearchableContainer

RygelSearchableContainer — The base class for searchable containers.

Functions

Types and Values

Description

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),

Functions

rygel_searchable_container_search ()

void
rygel_searchable_container_search (RygelSearchableContainer *self,
                                   RygelSearchExpression *expression,
                                   guint offset,
                                   guint max_count,
                                   const gchar *sort_criteria,
                                   GCancellable *cancellable,
                                   GAsyncReadyCallback _callback_,
                                   gpointer _user_data_);

Recursively searches for all media objects that satisfy the given search expression in this container.

See also: rygel_searchable_container_search_finish()

Parameters

self

the RygelSearchableContainer instance

 

expression

 . the search expression or null for wildcard.

[in][allow-none]

offset

 . zero-based index of the first object to return.

[in]

max_count

 . maximum number of objects to return.

[in]

total_matches

 . sets it to the actual number of objects that satisfy.

[out]

cancellable

 . optional cancellable for this operation.

[in][allow-none]

sort_criteria

 

 

_callback_

callback to call when the request is satisfied.

[scope async]

_user_data_

the data to pass to _callback_ function.

[closure]

rygel_searchable_container_search_finish ()

RygelMediaObjects *
rygel_searchable_container_search_finish
                               (RygelSearchableContainer *self,
                                GAsyncResult *_res_,
                                guint *total_matches,
                                GError **error);

Recursively searches for all media objects that satisfy the given search expression in this container.

See also: rygel_searchable_container_search()

Parameters

self

the RygelSearchableContainer instance

 

_res_

a GAsyncResult

 

error

location to store the error occuring, or NULL to ignore

 

Returns

A list of matching media objects or null if no object matched.


rygel_searchable_container_simple_search ()

void
rygel_searchable_container_simple_search
                               (RygelSearchableContainer *self,
                                RygelSearchExpression *expression,
                                guint offset,
                                guint max_count,
                                const gchar *sort_criteria,
                                GCancellable *cancellable,
                                GAsyncReadyCallback _callback_,
                                gpointer _user_data_);

Utility method that retrieves all children and recursively searches for all media objects that satisfy the given search expression in this container.

See also: rygel_searchable_container_simple_search_finish()

Parameters

self

the RygelSearchableContainer instance

 

expression

 . the search expression or null for wildcard.

[in][allow-none]

offset

 . zero-based index of the first object to return.

[in]

max_count

 . maximum number of objects to return.

[in]

total_matches

 . sets it to the actual number of objects that satisfy the given search expression. If it is not possible to compute this value (in a timely mannger), it is set to '0'.

[out]

cancellable

 . optional cancellable for this operation.

[in][allow-none]

sort_criteria

 

 

_callback_

callback to call when the request is satisfied.

[scope async]

_user_data_

the data to pass to _callback_ function.

[closure]

rygel_searchable_container_simple_search_finish ()

RygelMediaObjects *
rygel_searchable_container_simple_search_finish
                               (RygelSearchableContainer *self,
                                GAsyncResult *_res_,
                                guint *total_matches,
                                GError **error);

Utility method that retrieves all children and recursively searches for all media objects that satisfy the given search expression in this container.

See also: rygel_searchable_container_simple_search()

Parameters

self

the RygelSearchableContainer instance

 

_res_

a GAsyncResult

 

error

location to store the error occuring, or NULL to ignore

 

Returns

A list of media objects.


rygel_searchable_container_find_object ()

void
rygel_searchable_container_find_object
                               (RygelSearchableContainer *self,
                                const gchar *id,
                                GCancellable *cancellable,
                                GAsyncReadyCallback _callback_,
                                gpointer _user_data_);

Recursively searches for media object with the given id in this container.

See also: rygel_searchable_container_find_object_finish()

Parameters

callback

function to call when result is ready

 

self

the RygelSearchableContainer instance

 

id

 . ID of the media object to search for.

[in]

cancellable

 . optional cancellable for this operation.

[in][allow-none]

_callback_

callback to call when the request is satisfied.

[scope async]

_user_data_

the data to pass to _callback_ function.

[closure]

rygel_searchable_container_find_object_finish ()

RygelMediaObject *
rygel_searchable_container_find_object_finish
                               (RygelSearchableContainer *self,
                                GAsyncResult *_res_,
                                GError **error);

Recursively searches for media object with the given id in this container.

See also: rygel_searchable_container_find_object()

Parameters

self

the RygelSearchableContainer instance

 

_res_

a GAsyncResult

 

error

location to store the error occuring, or NULL to ignore

 

Returns

the found media object.


rygel_searchable_container_get_search_classes ()

GeeArrayList *
rygel_searchable_container_get_search_classes
                               (RygelSearchableContainer *self);

Get and return the current value of the "search-classes" property.

Parameters

self

the RygelSearchableContainer instance to query

 

Returns

the value of the "search-classes" property


rygel_searchable_container_set_search_classes ()

void
rygel_searchable_container_set_search_classes
                               (RygelSearchableContainer *self,
                                GeeArrayList *value);

Set the value of the "search-classes" property to value .

Parameters

self

the RygelSearchableContainer instance to modify

 

value

the new value of the "search-classes" property

 

Types and Values

RygelSearchableContainer

typedef struct _RygelSearchableContainer RygelSearchableContainer;

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),


struct RygelSearchableContainerIface

struct RygelSearchableContainerIface {
	GTypeInterface parent_iface;
	void (*search) (RygelSearchableContainer* self, RygelSearchExpression* expression, guint offset, guint max_count, const gchar* sort_criteria, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	RygelMediaObjects* (*search_finish) (RygelSearchableContainer* self, GAsyncResult* _res_, guint* total_matches, GError** error);
	GeeArrayList* (*get_search_classes) (RygelSearchableContainer* self);
	void (*set_search_classes) (RygelSearchableContainer* self, GeeArrayList* value);
};

Interface for creating RygelSearchableContainer implementations.

Members

GTypeInterface parent_iface;

the parent interface structure

 

search ()

virtual method called by rygel_searchable_container_search()

 

search_finish ()

asynchronous finish function for search, called by rygel_searchable_container_search()

 

get_search_classes ()

getter method for the abstract property "search-classes"

 

set_search_classes ()

setter method for the abstract property "search-classes"