summaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorGuillaume Emont <guijemont@igalia.com>2011-08-02 13:19:23 +0200
committerGuillaume Emont <guijemont@igalia.com>2011-12-14 14:36:18 +0100
commit956d3c8b9656e4ee76d0434e80ddff970e7078f8 (patch)
treecfdca2292175210ebd25a5816152bc42c4aa8631 /examples
parent3de162e6946279fbd5a0d24ff2658a5b65783a18 (diff)
downloadgrilo-956d3c8b9656e4ee76d0434e80ddff970e7078f8.tar.gz
examples: ported to new APIs using caps and options
Diffstat (limited to 'examples')
-rw-r--r--examples/browsing.c15
-rw-r--r--examples/efficient-metadata-resolution.c25
-rw-r--r--examples/multivalues.c14
-rw-r--r--examples/searching.c10
4 files changed, 54 insertions, 10 deletions
diff --git a/examples/browsing.c b/examples/browsing.c
index bd88bd2..674ccb4 100644
--- a/examples/browsing.c
+++ b/examples/browsing.c
@@ -78,24 +78,33 @@ source_added_cb (GrlPluginRegistry *registry, gpointer user_data)
source we find */
if (first &&
grl_metadata_source_supported_operations (source) & GRL_OP_BROWSE) {
+ GrlOperationOptions *options;
+ GrlCaps *caps;
first = FALSE;
g_debug ("Browsing source: %s", grl_metadata_source_get_name (source));
/* Here is how you can browse a source, you have to provide:
1) The source you want to browse contents from.
2) The container object you want to browse (NULL for the root container)
3) A list of metadata keys we are interested in.
- 4) Flags to control certain aspects of the browse operation.
+ 4) Options to control certain aspects of the browse operation.
5) A callback that the framework will invoke for each available result
6) User data for the callback
It returns an operation identifier that you can use to match results
with the corresponding request (we ignore it here) */
+
+ caps = grl_metadata_source_get_caps (source, GRL_OP_BROWSE);
+ options = grl_operation_options_new (caps);
+ grl_operation_options_set_count (options, 5);
+ grl_operation_options_set_flags (options, GRL_RESOLVE_IDLE_RELAY);
+
grl_media_source_browse (GRL_MEDIA_SOURCE (source),
NULL,
keys,
- 0, 5,
- GRL_RESOLVE_IDLE_RELAY,
+ options,
browse_cb,
NULL);
+ g_object_unref (caps);
+ g_object_unref (options);
}
g_list_free (keys);
diff --git a/examples/efficient-metadata-resolution.c b/examples/efficient-metadata-resolution.c
index 3dd578e..c407fcf 100644
--- a/examples/efficient-metadata-resolution.c
+++ b/examples/efficient-metadata-resolution.c
@@ -55,13 +55,22 @@ search_cb (GrlMediaSource *source,
exit (0);
} else {
g_debug ("URL no available, trying with slow keys now");
+ GrlOperationOptions *options;
+ GrlCaps *caps;
GList *keys = grl_metadata_key_list_new (GRL_METADATA_KEY_URL, NULL);
+
+ caps = grl_metadata_source_get_caps (GRL_METADATA_SOURCE (source),
+ GRL_OP_METADATA);
+ options = grl_operation_options_new (caps);
+ grl_operation_options_set_flags (options, GRL_RESOLVE_IDLE_RELAY);
grl_media_source_metadata (source,
media,
keys,
- GRL_RESOLVE_IDLE_RELAY,
+ options,
metadata_cb,
NULL);
+ g_object_unref (caps);
+ g_object_unref (options);
g_list_free (keys);
}
}
@@ -71,6 +80,8 @@ source_added_cb (GrlPluginRegistry *registry, gpointer user_data)
{
GrlMetadataSource *source = GRL_METADATA_SOURCE (user_data);
const gchar *source_id = grl_metadata_source_get_id (source);
+ GrlCaps *caps;
+ GrlOperationOptions *options;
/* We are looking for one source in particular */
if (strcmp (source_id, target_source_id))
@@ -84,15 +95,23 @@ source_added_cb (GrlPluginRegistry *registry, gpointer user_data)
if (!(grl_metadata_source_supported_operations (source) & GRL_OP_SEARCH))
g_error ("Source %s is not searchable!", source_id);
+ caps = grl_metadata_source_get_caps (source, GRL_OP_SEARCH);
+ options = grl_operation_options_new (caps);
+ grl_operation_options_set_count (options, 5);
+ grl_operation_options_set_flags (options,
+ GRL_RESOLVE_IDLE_RELAY
+ | GRL_RESOLVE_FAST_ONLY);
+
/* Retrieve the first media from the source matching the text "rock" */
g_debug ("Searching \"rock\" in \"%s\"", source_id);
grl_media_source_search (GRL_MEDIA_SOURCE (source),
"rock",
keys,
- 0, 1,
- GRL_RESOLVE_IDLE_RELAY | GRL_RESOLVE_FAST_ONLY,
+ options,
search_cb,
NULL);
+ g_object_unref (caps);
+ g_object_unref (options);
g_list_free (keys);
}
diff --git a/examples/multivalues.c b/examples/multivalues.c
index ed5e17c..e179097 100644
--- a/examples/multivalues.c
+++ b/examples/multivalues.c
@@ -52,6 +52,8 @@ source_added_cb (GrlPluginRegistry *registry, gpointer user_data)
{
const gchar *id;
GrlMetadataSource *source = GRL_METADATA_SOURCE (user_data);
+ GrlCaps *caps;
+ GrlOperationOptions *options;
GList * keys = grl_metadata_key_list_new (GRL_METADATA_KEY_TITLE,
GRL_METADATA_KEY_URL,
GRL_METADATA_KEY_MIME,
@@ -69,15 +71,23 @@ source_added_cb (GrlPluginRegistry *registry, gpointer user_data)
if (strcmp (id, "grl-youtube"))
return;
+ caps = grl_metadata_source_get_caps (source, GRL_OP_SEARCH);
+ options = grl_operation_options_new (caps);
+ grl_operation_options_set_skip (options, 0);
+ grl_operation_options_set_count (options, 5);
+ grl_operation_options_set_flags (options, GRL_RESOLVE_IDLE_RELAY);
+
g_debug ("Searching \"rock\" in Youtube");
grl_media_source_search (GRL_MEDIA_SOURCE (source),
"rock",
keys,
- 0, 5,
- GRL_RESOLVE_IDLE_RELAY,
+ options,
search_cb,
NULL);
+ g_object_unref (options);
+ g_object_unref (caps);
+
g_list_free (keys);
}
diff --git a/examples/searching.c b/examples/searching.c
index c9804ee..3c56e00 100644
--- a/examples/searching.c
+++ b/examples/searching.c
@@ -49,6 +49,8 @@ source_added_cb (GrlPluginRegistry *registry, gpointer user_data)
{
const gchar *id;
GrlMetadataSource *source = GRL_METADATA_SOURCE (user_data);
+ GrlCaps *caps;
+ GrlOperationOptions *options;
GList * keys = grl_metadata_key_list_new (GRL_METADATA_KEY_TITLE,
GRL_METADATA_KEY_DURATION,
GRL_METADATA_KEY_CHILDCOUNT,
@@ -66,12 +68,16 @@ source_added_cb (GrlPluginRegistry *registry, gpointer user_data)
if (strcmp (id, "grl-jamendo"))
return;
+ caps = grl_metadata_source_get_caps (source, GRL_OP_SEARCH);
+ options = grl_operation_options_new (caps);
+ grl_operation_options_set_count (options, 5);
+ grl_operation_options_set_flags (options, GRL_RESOLVE_IDLE_RELAY);
+
g_debug ("Searching \"rock\" in Jamendo");
grl_media_source_search (GRL_MEDIA_SOURCE (source),
"rock",
keys,
- 0, 5,
- GRL_RESOLVE_IDLE_RELAY,
+ options,
search_cb,
NULL);