[PATCH 00/15] Capabilities and Options



Here is the long awaited introduction of capabilities and operation options in
Grilo. This is for the master branch and not meant to be backported to 0.1.x as
this breaks the API.
A matching patch set for grilo-plugins will follow shortly.

The operation options consist in an object passed for each operation
(_resolve(), _browse(), _search(), _query()) to specify "options" that define
how the operation should be carried out. As of this patchset, the list of
options is rather limited (skip, count and flags, which were previously passed
as individual arguments), but the big advantage of this approach is its
extensibility: new options can be added without breaking API or ABI. I have
other patch sets waiting that depends on this extensibility to add the ability
to filter results.

This subject has been previously discussed in various threads of this mailing list, such as the following:
https://mail.gnome.org/archives/grilo-list/2011-March/msg00120.html
https://mail.gnome.org/archives/grilo-list/2011-March/msg00271.html
https://mail.gnome.org/archives/grilo-list/2011-April/msg00006.html

Which might help to understand some design decisions.

The patches can be categorised in several categories:
 * Introduction of Capabilities and Options
    [PATCH 01/15] core: Added some helper functions to handle GValues
    [PATCH 02/15] core: add operation option keys
    [PATCH 03/15] core: introduced GrlCaps
    [PATCH 04/15] core: introducing GrlOperationOptions
    [PATCH 05/15] core: added caps and operation options to build system
    [PATCH 06/15] core: Moved GrlMetadataResolutionFlags into
 * Integration into existing code
    [PATCH 07/15] core: use GrlOperationOptions in
    [PATCH 08/15] core: added grl_metadata_source_get_caps()
    [PATCH 09/15] core: make media source operations use
    [PATCH 10/15] core: make grl_multiple_*() operations use
 * Update of various things that needed updating
    [PATCH 11/15] doc: included caps and options in the documentation
    [PATCH 12/15] test-ui: ported to the new APIs with
    [PATCH 13/15] tests: added first tests for options and caps
    [PATCH 14/15] examples: ported to new APIs using caps and options
    [PATCH 15/15] vala: update binding and example for the caps and

The documentation is not complete yet, but I believe this can be improved
later, and hopefully before the first 0.2.x release.

Hope you like it.

Cheers,

Guij


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]