[grilo-plugins/tracker-notification] tracker: support metadata request with NULL media
- From: Lionel Landwerlin <llandwerlin src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [grilo-plugins/tracker-notification] tracker: support metadata request with NULL media
- Date: Fri, 25 Feb 2011 15:18:01 +0000 (UTC)
commit 0aa8b1714bdfa0f1331b2b9082fba5ae086ae12a
Author: Lionel Landwerlin <lionel g landwerlin linux intel com>
Date: Fri Feb 25 15:13:38 2011 +0000
tracker: support metadata request with NULL media
Only with per source device
Signed-off-by: Lionel Landwerlin <lionel g landwerlin linux intel com>
src/tracker/grl-tracker-api.c | 24 +++++++++++++++++-------
1 files changed, 17 insertions(+), 7 deletions(-)
---
diff --git a/src/tracker/grl-tracker-api.c b/src/tracker/grl-tracker-api.c
index e007cc8..08a618f 100644
--- a/src/tracker/grl-tracker-api.c
+++ b/src/tracker/grl-tracker-api.c
@@ -523,18 +523,26 @@ grl_tracker_source_metadata (GrlMediaSource *source,
GrlMediaSourceMetadataSpec *ms)
{
GrlTrackerSourcePriv *priv = GRL_TRACKER_SOURCE_GET_PRIVATE (source);
- gchar *sparql_select, *sparql_final;
+ gchar *constraint = NULL, *sparql_select, *sparql_final;
GRL_DEBUG ("%s: id=%i", __FUNCTION__, ms->metadata_id);
- if (grl_media_get_id (ms->media) == NULL) {
- ms->callback (ms->source, ms->media, ms->user_data, NULL);
- return;
+ if (grl_tracker_per_device_source) {
+ constraint = grl_tracker_source_get_device_constraint (priv);
+ sparql_select = grl_tracker_source_get_select_string (source, ms->keys);
+ sparql_final = g_strdup_printf (TRACKER_BROWSE_FILESYSTEM_ROOT_REQUEST,
+ sparql_select, constraint, 0, 1);
+ } else {
+ if (grl_media_get_id (ms->media) == NULL) {
+ ms->callback (ms->source, ms->media, ms->user_data, NULL);
+ return;
+ }
+ sparql_select = grl_tracker_source_get_select_string (source, ms->keys);
+ sparql_final = g_strdup_printf (TRACKER_METADATA_REQUEST, sparql_select,
+ grl_media_get_id (ms->media));
}
- sparql_select = grl_tracker_source_get_select_string (source, ms->keys);
- sparql_final = g_strdup_printf (TRACKER_METADATA_REQUEST, sparql_select,
- grl_media_get_id (ms->media));
+
GRL_DEBUG ("\tselect: '%s'", sparql_final);
@@ -544,6 +552,8 @@ grl_tracker_source_metadata (GrlMediaSource *source,
(GAsyncReadyCallback) tracker_metadata_cb,
ms);
+ if (constraint != NULL)
+ g_free (constraint);
if (sparql_select != NULL)
g_free (sparql_select);
if (sparql_final != NULL)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]