[grilo-plugins] tracker: Merge tracker-media and tracker-metadata sources in one tracker-source
- From: Juan A. Suarez Romero <jasuarez src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [grilo-plugins] tracker: Merge tracker-media and tracker-metadata sources in one tracker-source
- Date: Mon, 6 Aug 2012 16:52:16 +0000 (UTC)
commit 19216d602dd4f1b0c7189b92830c3cf937f3f680
Author: Juan A. Suarez Romero <jasuarez igalia com>
Date: Tue Jul 17 20:20:53 2012 +0000
tracker: Merge tracker-media and tracker-metadata sources in one tracker-source
src/media/tracker/Makefile.am | 28 +-
src/media/tracker/grl-tracker-media-api.h | 60 ---
src/media/tracker/grl-tracker-media.h | 97 -----
src/media/tracker/grl-tracker-metadata.c | 376 --------------------
src/media/tracker/grl-tracker-metadata.h | 98 -----
...racker-media-api.c => grl-tracker-source-api.c} | 227 ++++++++-----
src/media/tracker/grl-tracker-source-api.h | 66 ++++
...er-media-cache.c => grl-tracker-source-cache.c} | 34 +-
...er-media-cache.h => grl-tracker-source-cache.h} | 28 +-
...er-media-notif.c => grl-tracker-source-notif.c} | 89 +++---
...er-media-notif.h => grl-tracker-source-notif.h} | 14 +-
...cker-media-priv.h => grl-tracker-source-priv.h} | 45 ++--
.../{grl-tracker-media.c => grl-tracker-source.c} | 191 +++++-----
src/media/tracker/grl-tracker-source.h | 97 +++++
src/media/tracker/grl-tracker-utils.c | 24 +-
src/media/tracker/grl-tracker-utils.h | 17 +-
src/media/tracker/grl-tracker.c | 20 +-
17 files changed, 542 insertions(+), 969 deletions(-)
---
diff --git a/src/media/tracker/Makefile.am b/src/media/tracker/Makefile.am
index ea6aa18..1edee28 100644
--- a/src/media/tracker/Makefile.am
+++ b/src/media/tracker/Makefile.am
@@ -20,23 +20,21 @@ libgrltracker_la_LDFLAGS = \
-module \
-avoid-version
-libgrltracker_la_SOURCES = \
- grl-tracker.c \
- grl-tracker.h \
- grl-tracker-media.c \
- grl-tracker-media.h \
- grl-tracker-media-api.c \
- grl-tracker-media-api.h \
- grl-tracker-media-cache.c \
- grl-tracker-media-cache.h \
- grl-tracker-media-notif.c \
- grl-tracker-media-notif.h \
- grl-tracker-media-priv.h \
- grl-tracker-metadata.c \
- grl-tracker-metadata.h \
+libgrltracker_la_SOURCES = \
+ grl-tracker.c \
+ grl-tracker.h \
+ grl-tracker-source.c \
+ grl-tracker-source.h \
+ grl-tracker-source-api.c \
+ grl-tracker-source-api.h \
+ grl-tracker-source-cache.c \
+ grl-tracker-source-cache.h \
+ grl-tracker-source-notif.c \
+ grl-tracker-source-notif.h \
+ grl-tracker-source-priv.h \
grl-tracker-request-queue.c \
grl-tracker-request-queue.h \
- grl-tracker-utils.c \
+ grl-tracker-utils.c \
grl-tracker-utils.h
extdir = $(GRL_PLUGINS_DIR)
diff --git a/src/media/tracker/grl-tracker-media-api.c b/src/media/tracker/grl-tracker-source-api.c
similarity index 82%
rename from src/media/tracker/grl-tracker-media-api.c
rename to src/media/tracker/grl-tracker-source-api.c
index 9082883..9304af2 100644
--- a/src/media/tracker/grl-tracker-media-api.c
+++ b/src/media/tracker/grl-tracker-source-api.c
@@ -1,10 +1,11 @@
/*
- * Copyright (C) 2011 Igalia S.L.
+ * Copyright (C) 2011-2012 Igalia S.L.
* Copyright (C) 2011 Intel Corporation.
*
* Contact: Iago Toral Quiroga <itoral igalia com>
*
* Authors: Lionel Landwerlin <lionel g landwerlin linux intel com>
+ * Juan A. Suarez Romero <jasuarez igalia com>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public License
@@ -31,27 +32,27 @@
#include <tracker-sparql.h>
#include "grl-tracker.h"
-#include "grl-tracker-media-api.h"
-#include "grl-tracker-media-cache.h"
-#include "grl-tracker-media-priv.h"
+#include "grl-tracker-source-api.h"
+#include "grl-tracker-source-cache.h"
+#include "grl-tracker-source-priv.h"
#include "grl-tracker-request-queue.h"
#include "grl-tracker-utils.h"
/* --------- Logging -------- */
-#define GRL_LOG_DOMAIN_DEFAULT tracker_media_request_log_domain
+#define GRL_LOG_DOMAIN_DEFAULT tracker_source_request_log_domain
-GRL_LOG_DOMAIN_STATIC(tracker_media_request_log_domain);
-GRL_LOG_DOMAIN_STATIC(tracker_media_result_log_domain);
+GRL_LOG_DOMAIN_STATIC(tracker_source_request_log_domain);
+GRL_LOG_DOMAIN_STATIC(tracker_source_result_log_domain);
/* Inputs/requests */
#define GRL_IDEBUG(args...) \
- GRL_LOG (tracker_media_request_log_domain, \
+ GRL_LOG (tracker_source_request_log_domain, \
GRL_LOG_LEVEL_DEBUG, args)
/* Outputs/results */
#define GRL_ODEBUG(args...) \
- GRL_LOG (tracker_media_result_log_domain, \
+ GRL_LOG (tracker_source_result_log_domain, \
GRL_LOG_LEVEL_DEBUG, args)
/* ------- Definitions ------- */
@@ -136,7 +137,7 @@ GRL_LOG_DOMAIN_STATIC(tracker_media_result_log_domain);
"OFFSET %i " \
"LIMIT %i"
-#define TRACKER_METADATA_REQUEST \
+#define TRACKER_RESOLVE_REQUEST \
"SELECT %s " \
"WHERE " \
"{ " \
@@ -145,6 +146,14 @@ GRL_LOG_DOMAIN_STATIC(tracker_media_result_log_domain);
"FILTER (tracker:id(?urn) = %s) " \
"}"
+#define TRACKER_RESOLVE_URL_REQUEST \
+ "SELECT %s " \
+ "WHERE " \
+ "{ " \
+ "?urn a nie:DataObject . " \
+ "?urn nie:url \"%s\" " \
+ "}"
+
#define TRACKER_SAVE_REQUEST \
"DELETE { <%s> %s } WHERE { <%s> a nfo:Media . %s } " \
"INSERT { <%s> a nfo:Media ; %s . }"
@@ -164,7 +173,7 @@ static GHashTable *grl_tracker_operations;
/**/
static void
-fill_grilo_media_from_sparql (GrlTrackerMedia *source,
+fill_grilo_media_from_sparql (GrlTrackerSource *source,
GrlMedia *media,
TrackerSparqlCursor *cursor,
gint column)
@@ -205,10 +214,10 @@ fill_grilo_media_from_sparql (GrlTrackerMedia *source,
case G_TYPE_STRING:
/* Cache the source associated to this result. */
if (assoc->grl_key == GRL_METADATA_KEY_ID) {
- grl_tracker_media_cache_add_item (grl_tracker_item_cache,
- tracker_sparql_cursor_get_integer (cursor,
- column),
- source);
+ grl_tracker_source_cache_add_item (grl_tracker_item_cache,
+ tracker_sparql_cursor_get_integer (cursor,
+ column),
+ source);
}
val.str_val = tracker_sparql_cursor_get_string (cursor, column, NULL);
if (val.str_val != NULL)
@@ -307,7 +316,7 @@ fill_grilo_media_from_sparql (GrlTrackerMedia *source,
for (col = 1 ; \
col < tracker_sparql_cursor_get_n_columns (os->cursor) ; \
col++) { \
- fill_grilo_media_from_sparql (GRL_TRACKER_MEDIA (spec->source), \
+ fill_grilo_media_from_sparql (GRL_TRACKER_SOURCE (spec->source), \
media, os->cursor, col); \
} \
\
@@ -337,7 +346,7 @@ fill_grilo_media_from_sparql (GrlTrackerMedia *source,
GError *tracker_error = NULL, *error = NULL; \
spec_type *spec = (spec_type *) os->data; \
TrackerSparqlConnection *connection = \
- grl_tracker_media_get_tracker_connection (GRL_TRACKER_MEDIA (spec->source)); \
+ grl_tracker_source_get_tracker_connection (GRL_TRACKER_SOURCE (spec->source)); \
\
GRL_ODEBUG ("%s", __FUNCTION__); \
\
@@ -376,15 +385,15 @@ TRACKER_QUERY_CB(GrlSourceBrowseSpec, browse)
TRACKER_QUERY_CB(GrlSourceSearchSpec, search)
static void
-tracker_metadata_cb (GObject *source_object,
- GAsyncResult *result,
- GrlTrackerOp *os)
+tracker_resolve_cb (GObject *source_object,
+ GAsyncResult *result,
+ GrlTrackerOp *os)
{
- GrlSourceResolveSpec *rs = (GrlSourceResolveSpec *) os->data;
- GrlTrackerMediaPriv *priv = GRL_TRACKER_MEDIA_GET_PRIVATE (rs->source);
+ GrlSourceResolveSpec *rs = (GrlSourceResolveSpec *) os->data;
+ GrlTrackerSourcePriv *priv = GRL_TRACKER_SOURCE_GET_PRIVATE (rs->source);
gint col;
- GError *tracker_error = NULL, *error = NULL;
- TrackerSparqlCursor *cursor;
+ GError *tracker_error = NULL, *error = NULL;
+ TrackerSparqlCursor *cursor;
GRL_ODEBUG ("%s", __FUNCTION__);
@@ -392,12 +401,12 @@ tracker_metadata_cb (GObject *source_object,
result, &tracker_error);
if (tracker_error) {
- GRL_WARNING ("Could not execute sparql query id=%u : %s",
- rs->operation_id, tracker_error->message);
+ GRL_WARNING ("Could not execute sparql resolve query : %s",
+ tracker_error->message);
error = g_error_new (GRL_CORE_ERROR,
- GRL_CORE_ERROR_BROWSE_FAILED,
- "Failed to start metadata action : %s",
+ GRL_CORE_ERROR_BROWSE_FAILED,
+ "Failed to start resolve action : %s",
tracker_error->message);
rs->callback (rs->source, rs->operation_id, rs->media, rs->user_data, error);
@@ -412,11 +421,13 @@ tracker_metadata_cb (GObject *source_object,
if (tracker_sparql_cursor_next (cursor, NULL, NULL)) {
/* Translate Sparql result into Grilo result */
for (col = 0 ; col < tracker_sparql_cursor_get_n_columns (cursor) ; col++) {
- fill_grilo_media_from_sparql (GRL_TRACKER_MEDIA (rs->source),
+ fill_grilo_media_from_sparql (GRL_TRACKER_SOURCE (rs->source),
rs->media, cursor, col);
}
rs->callback (rs->source, rs->operation_id, rs->media, rs->user_data, NULL);
+ } else {
+ rs->callback (rs->source, rs->operation_id, rs->media, rs->user_data, NULL);
}
end_operation:
@@ -433,7 +444,7 @@ tracker_store_metadata_cb (GObject *source_object,
{
GrlSourceStoreMetadataSpec *sms =
(GrlSourceStoreMetadataSpec *) os->data;
- GrlTrackerMediaPriv *priv = GRL_TRACKER_MEDIA_GET_PRIVATE (sms->source);
+ GrlTrackerSourcePriv *priv = GRL_TRACKER_SOURCE_GET_PRIVATE (sms->source);
GError *tracker_error = NULL, *error = NULL;
tracker_sparql_connection_update_finish (priv->tracker_connection,
@@ -463,7 +474,7 @@ tracker_store_metadata_cb (GObject *source_object,
/**/
const GList *
-grl_tracker_media_writable_keys (GrlSource *source)
+grl_tracker_source_writable_keys (GrlSource *source)
{
static GList *keys = NULL;
if (!keys) {
@@ -546,11 +557,11 @@ grl_tracker_media_writable_keys (GrlSource *source)
* the query spec.
*/
void
-grl_tracker_media_query (GrlSource *source,
- GrlSourceQuerySpec *qs)
+grl_tracker_source_query (GrlSource *source,
+ GrlSourceQuerySpec *qs)
{
GError *error = NULL;
- GrlTrackerMediaPriv *priv = GRL_TRACKER_MEDIA_GET_PRIVATE (source);
+ GrlTrackerSourcePriv *priv = GRL_TRACKER_SOURCE_GET_PRIVATE (source);
gchar *constraint;
gchar *sparql_final;
gchar *sparql_select;
@@ -569,8 +580,8 @@ grl_tracker_media_query (GrlSource *source,
/* Check if it is a full sparql query */
if (g_ascii_strncasecmp (qs->query, "select ", 7) != 0) {
- constraint = grl_tracker_media_get_device_constraint (priv);
- sparql_select = grl_tracker_media_get_select_string (qs->keys);
+ constraint = grl_tracker_source_get_device_constraint (priv);
+ sparql_select = grl_tracker_source_get_select_string (qs->keys);
sparql_final = g_strdup_printf (TRACKER_QUERY_REQUEST,
sparql_select,
qs->query,
@@ -581,7 +592,7 @@ grl_tracker_media_query (GrlSource *source,
g_free (qs->query);
g_free (sparql_select);
qs->query = sparql_final;
- grl_tracker_media_query (source, qs);
+ grl_tracker_source_query (source, qs);
return;
}
@@ -609,37 +620,50 @@ grl_tracker_media_query (GrlSource *source,
}
void
-grl_tracker_media_resolve (GrlSource *source,
- GrlSourceResolveSpec *rs)
+grl_tracker_source_resolve (GrlSource *source,
+ GrlSourceResolveSpec *rs)
{
- GrlTrackerMediaPriv *priv = GRL_TRACKER_MEDIA_GET_PRIVATE (source);
- gchar *constraint = NULL, *sparql_select, *sparql_final;
- GrlTrackerOp *os;
+ GrlTrackerSourcePriv *priv = GRL_TRACKER_SOURCE_GET_PRIVATE (source);
+ gchar *constraint = NULL, *sparql_select, *sparql_final;
+ const gchar *url = grl_media_get_url (rs->media);
+ GrlTrackerOp *os;
GRL_IDEBUG ("%s: id=%i", __FUNCTION__, rs->operation_id);
- if (grl_media_get_id (rs->media) == NULL) {
- if (grl_tracker_per_device_source) {
- constraint = grl_tracker_media_get_device_constraint (priv);
- sparql_select = grl_tracker_media_get_select_string (rs->keys);
- sparql_final = g_strdup_printf (TRACKER_BROWSE_FILESYSTEM_ROOT_REQUEST,
- sparql_select,
- grl_tracker_show_documents? TRACKER_BROWSE_SHOW_DOCUMENTS: "",
- constraint, 0, 1);
+ /* Check if the media comes from this source or another */
+ if (g_strcmp0 (priv->tracker_datasource, grl_source_get_id (rs->source)) == 0) {
+ if (grl_media_get_id (rs->media) == NULL) {
+ if (grl_tracker_per_device_source) {
+ constraint = grl_tracker_source_get_device_constraint (priv);
+ sparql_select = grl_tracker_source_get_select_string (rs->keys);
+ sparql_final = g_strdup_printf (TRACKER_BROWSE_FILESYSTEM_ROOT_REQUEST,
+ sparql_select,
+ grl_tracker_show_documents? TRACKER_BROWSE_SHOW_DOCUMENTS: "",
+ constraint, 0, 1);
+ } else {
+ rs->callback (rs->source, rs->operation_id, rs->media, rs->user_data, NULL);
+ return;
+ }
+ } else {
+ sparql_select = grl_tracker_source_get_select_string (rs->keys);
+ sparql_final = g_strdup_printf (TRACKER_RESOLVE_REQUEST, sparql_select,
+ grl_media_get_id (rs->media));
+ }
+ } else {
+ if (url) {
+ sparql_select = grl_tracker_source_get_select_string (rs->keys);
+ sparql_final = g_strdup_printf (TRACKER_RESOLVE_URL_REQUEST,
+ sparql_select, url);
} else {
rs->callback (rs->source, rs->operation_id, rs->media, rs->user_data, NULL);
return;
}
- } else {
- sparql_select = grl_tracker_media_get_select_string (rs->keys);
- sparql_final = g_strdup_printf (TRACKER_METADATA_REQUEST, sparql_select,
- grl_media_get_id (rs->media));
}
- GRL_IDEBUG ("\tselect: '%s'", sparql_final);
+ GRL_IDEBUG ("\request: '%s'", sparql_final);
os = grl_tracker_op_initiate_metadata (sparql_final,
- (GAsyncReadyCallback) tracker_metadata_cb,
+ (GAsyncReadyCallback) tracker_resolve_cb,
rs);
os->keys = rs->keys;
@@ -651,11 +675,40 @@ grl_tracker_media_resolve (GrlSource *source,
g_free (sparql_select);
}
+gboolean
+grl_tracker_source_may_resolve (GrlSource *source,
+ GrlMedia *media,
+ GrlKeyID key_id,
+ GList **missing_keys)
+{
+ GRL_IDEBUG ("%s: key=%s", __FUNCTION__, GRL_METADATA_KEY_GET_NAME (key_id));
+
+ if (media && grl_tracker_source_find_source (grl_media_get_source (media))) {
+ return TRUE;
+ }
+
+ if (!grl_tracker_key_is_supported (key_id)) {
+ return FALSE;
+ }
+
+ if (media) {
+ if (grl_media_get_url (media)) {
+ return TRUE;
+ } else {
+ if (missing_keys) {
+ *missing_keys = g_list_append (*missing_keys,
+ GRLKEYID_TO_POINTER (GRL_METADATA_KEY_URL));
+ }
+ }
+ }
+
+ return FALSE;
+}
+
void
-grl_tracker_media_store_metadata (GrlSource *source,
- GrlSourceStoreMetadataSpec *sms)
+grl_tracker_source_store_metadata (GrlSource *source,
+ GrlSourceStoreMetadataSpec *sms)
{
- /* GrlTrackerMediaPriv *priv = GRL_TRACKER_MEDIA_GET_PRIVATE (source); */
gchar *sparql_delete, *sparql_cdelete, *sparql_insert, *sparql_final;
const gchar *urn = grl_data_get_string (GRL_DATA (sms->media),
grl_metadata_key_tracker_urn);
@@ -686,9 +739,9 @@ grl_tracker_media_store_metadata (GrlSource *source,
}
void
-grl_tracker_media_search (GrlSource *source, GrlSourceSearchSpec *ss)
+grl_tracker_source_search (GrlSource *source, GrlSourceSearchSpec *ss)
{
- GrlTrackerMediaPriv *priv = GRL_TRACKER_MEDIA_GET_PRIVATE (source);
+ GrlTrackerSourcePriv *priv = GRL_TRACKER_SOURCE_GET_PRIVATE (source);
gchar *constraint;
gchar *sparql_select;
gchar *sparql_final;
@@ -698,8 +751,8 @@ grl_tracker_media_search (GrlSource *source, GrlSourceSearchSpec *ss)
GRL_IDEBUG ("%s: id=%u", __FUNCTION__, ss->operation_id);
- constraint = grl_tracker_media_get_device_constraint (priv);
- sparql_select = grl_tracker_media_get_select_string (ss->keys);
+ constraint = grl_tracker_source_get_device_constraint (priv);
+ sparql_select = grl_tracker_source_get_select_string (ss->keys);
if (!ss->text || ss->text[0] == '\0') {
/* Search all */
sparql_final = g_strdup_printf (TRACKER_SEARCH_ALL_REQUEST, sparql_select,
@@ -726,10 +779,10 @@ grl_tracker_media_search (GrlSource *source, GrlSourceSearchSpec *ss)
}
static void
-grl_tracker_media_browse_category (GrlSource *source,
- GrlSourceBrowseSpec *bs)
+grl_tracker_source_browse_category (GrlSource *source,
+ GrlSourceBrowseSpec *bs)
{
- GrlTrackerMediaPriv *priv = GRL_TRACKER_MEDIA_GET_PRIVATE (source);
+ GrlTrackerSourcePriv *priv = GRL_TRACKER_SOURCE_GET_PRIVATE (source);
gchar *constraint;
gchar *sparql_select;
gchar *sparql_final;
@@ -780,8 +833,8 @@ grl_tracker_media_browse_category (GrlSource *source,
category = grl_data_get_string (GRL_DATA (bs->container),
grl_metadata_key_tracker_category);
- constraint = grl_tracker_media_get_device_constraint (priv);
- sparql_select = grl_tracker_media_get_select_string (bs->keys);
+ constraint = grl_tracker_source_get_device_constraint (priv);
+ sparql_select = grl_tracker_source_get_select_string (bs->keys);
sparql_final = g_strdup_printf (TRACKER_BROWSE_CATEGORY_REQUEST,
sparql_select,
category,
@@ -805,10 +858,10 @@ grl_tracker_media_browse_category (GrlSource *source,
}
static void
-grl_tracker_media_browse_filesystem (GrlSource *source,
- GrlSourceBrowseSpec *bs)
+grl_tracker_source_browse_filesystem (GrlSource *source,
+ GrlSourceBrowseSpec *bs)
{
- GrlTrackerMediaPriv *priv = GRL_TRACKER_MEDIA_GET_PRIVATE (source);
+ GrlTrackerSourcePriv *priv = GRL_TRACKER_SOURCE_GET_PRIVATE (source);
gchar *constraint;
gchar *sparql_select;
gchar *sparql_final;
@@ -818,8 +871,8 @@ grl_tracker_media_browse_filesystem (GrlSource *source,
GRL_IDEBUG ("%s: id=%u", __FUNCTION__, bs->operation_id);
- sparql_select = grl_tracker_media_get_select_string (bs->keys);
- constraint = grl_tracker_media_get_device_constraint (priv);
+ sparql_select = grl_tracker_source_get_select_string (bs->keys);
+ constraint = grl_tracker_source_get_device_constraint (priv);
if (bs->container == NULL ||
!grl_media_get_id (bs->container)) {
@@ -855,17 +908,17 @@ grl_tracker_media_browse_filesystem (GrlSource *source,
}
void
-grl_tracker_media_browse (GrlSource *source,
- GrlSourceBrowseSpec *bs)
+grl_tracker_source_browse (GrlSource *source,
+ GrlSourceBrowseSpec *bs)
{
if (grl_tracker_browse_filesystem)
- grl_tracker_media_browse_filesystem (source, bs);
+ grl_tracker_source_browse_filesystem (source, bs);
else
- grl_tracker_media_browse_category (source, bs);
+ grl_tracker_source_browse_category (source, bs);
}
void
-grl_tracker_media_cancel (GrlSource *source, guint operation_id)
+grl_tracker_source_cancel (GrlSource *source, guint operation_id)
{
GrlTrackerOp *os;
@@ -879,9 +932,9 @@ grl_tracker_media_cancel (GrlSource *source, guint operation_id)
}
gboolean
-grl_tracker_media_change_start (GrlSource *source, GError **error)
+grl_tracker_source_change_start (GrlSource *source, GError **error)
{
- GrlTrackerMediaPriv *priv = GRL_TRACKER_MEDIA_GET_PRIVATE (source);
+ GrlTrackerSourcePriv *priv = GRL_TRACKER_SOURCE_GET_PRIVATE (source);
priv->notify_changes = TRUE;
@@ -889,9 +942,9 @@ grl_tracker_media_change_start (GrlSource *source, GError **error)
}
gboolean
-grl_tracker_media_change_stop (GrlSource *source, GError **error)
+grl_tracker_source_change_stop (GrlSource *source, GError **error)
{
- GrlTrackerMediaPriv *priv = GRL_TRACKER_MEDIA_GET_PRIVATE (source);
+ GrlTrackerSourcePriv *priv = GRL_TRACKER_SOURCE_GET_PRIVATE (source);
priv->notify_changes = FALSE;
@@ -899,7 +952,7 @@ grl_tracker_media_change_stop (GrlSource *source, GError **error)
}
void
-grl_tracker_media_init_requests (void)
+grl_tracker_source_init_requests (void)
{
GrlPluginRegistry *registry = grl_plugin_registry_get_default ();
@@ -921,8 +974,8 @@ grl_tracker_media_init_requests (void)
grl_tracker_operations = g_hash_table_new (g_direct_hash, g_direct_equal);
- GRL_LOG_DOMAIN_INIT (tracker_media_request_log_domain,
- "tracker-media-request");
- GRL_LOG_DOMAIN_INIT (tracker_media_result_log_domain,
- "tracker-media-result");
+ GRL_LOG_DOMAIN_INIT (tracker_source_request_log_domain,
+ "tracker-source-request");
+ GRL_LOG_DOMAIN_INIT (tracker_source_result_log_domain,
+ "tracker-source-result");
}
diff --git a/src/media/tracker/grl-tracker-source-api.h b/src/media/tracker/grl-tracker-source-api.h
new file mode 100644
index 0000000..5a49841
--- /dev/null
+++ b/src/media/tracker/grl-tracker-source-api.h
@@ -0,0 +1,66 @@
+/*
+ * Copyright (C) 2011-2012 Igalia S.L.
+ * Copyright (C) 2011 Intel Corporation.
+ *
+ * Contact: Iago Toral Quiroga <itoral igalia com>
+ *
+ * Authors: Lionel Landwerlin <lionel g landwerlin linux intel com>
+ * Juan A. Suarez Romero <jasuarez igalia com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA
+ *
+ */
+
+#ifndef _GRL_TRACKER_SOURCE_API_H_
+#define _GRL_TRACKER_SOURCE_API_H_
+
+#include "grl-tracker-source.h"
+
+/**/
+
+void grl_tracker_source_init_requests (void);
+
+const GList *grl_tracker_source_writable_keys (GrlSource *source);
+
+void grl_tracker_source_query (GrlSource *source,
+ GrlSourceQuerySpec *qs);
+
+void grl_tracker_source_resolve (GrlSource *source,
+ GrlSourceResolveSpec *rs);
+
+gboolean grl_tracker_source_may_resolve (GrlSource *source,
+ GrlMedia *media,
+ GrlKeyID key_id,
+ GList **missing_keys);
+
+void grl_tracker_source_store_metadata (GrlSource *source,
+ GrlSourceStoreMetadataSpec *sms);
+
+void grl_tracker_source_cancel (GrlSource *source, guint operation_id);
+
+void grl_tracker_source_search (GrlSource *source,
+ GrlSourceSearchSpec *ss);
+
+void grl_tracker_source_browse (GrlSource *source,
+ GrlSourceBrowseSpec *bs);
+
+gboolean grl_tracker_source_change_start (GrlSource *source,
+ GError **error);
+
+gboolean grl_tracker_source_change_stop (GrlSource *source,
+ GError **error);
+
+#endif /* _GRL_TRACKER_SOURCE_API_H_ */
diff --git a/src/media/tracker/grl-tracker-media-cache.c b/src/media/tracker/grl-tracker-source-cache.c
similarity index 82%
rename from src/media/tracker/grl-tracker-media-cache.c
rename to src/media/tracker/grl-tracker-source-cache.c
index 057c3ca..0ad04b2 100644
--- a/src/media/tracker/grl-tracker-media-cache.c
+++ b/src/media/tracker/grl-tracker-source-cache.c
@@ -1,9 +1,11 @@
/*
* Copyright (C) 2011 Intel Corporation.
+ * Copyright (C) 2011 Igalia S.L.
*
* Contact: Iago Toral Quiroga <itoral igalia com>
*
* Authors: Lionel Landwerlin <lionel g landwerlin linux intel com>
+ * Juan A. Suarez Romero <jasuarez igalia com>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public License
@@ -24,10 +26,10 @@
#include <glib.h>
-#include "grl-tracker-media-cache.h"
+#include "grl-tracker-source-cache.h"
typedef struct {
- GrlTrackerMedia *source;
+ GrlTrackerSource *source;
GHashTable *id_table;
} GrlTrackerCacheSource;
@@ -42,7 +44,7 @@ struct _GrlTrackerCache {
};
static GrlTrackerCacheSource *
-grl_tracker_cache_media_new (GrlTrackerMedia *source)
+grl_tracker_cache_source_new (GrlTrackerSource *source)
{
GrlTrackerCacheSource *csource = g_slice_new0 (GrlTrackerCacheSource);
@@ -53,7 +55,7 @@ grl_tracker_cache_media_new (GrlTrackerMedia *source)
}
static void
-grl_tracker_cache_media_free (GrlTrackerCacheSource *csource)
+grl_tracker_cache_source_free (GrlTrackerCacheSource *csource)
{
g_hash_table_destroy (csource->id_table);
@@ -63,7 +65,7 @@ grl_tracker_cache_media_free (GrlTrackerCacheSource *csource)
/**/
GrlTrackerCache *
-grl_tracker_media_cache_new (gsize size)
+grl_tracker_source_cache_new (gsize size)
{
GrlTrackerCache *cache;
@@ -82,7 +84,7 @@ grl_tracker_media_cache_new (gsize size)
}
void
-grl_tracker_media_cache_free (GrlTrackerCache *cache)
+grl_tracker_source_cache_free (GrlTrackerCache *cache)
{
GHashTableIter iter;
gpointer key, value;
@@ -91,7 +93,7 @@ grl_tracker_media_cache_free (GrlTrackerCache *cache)
g_hash_table_iter_init (&iter, cache->source_table);
while (g_hash_table_iter_next (&iter, &key, &value)) {
- grl_tracker_media_cache_del_source (cache, key);
+ grl_tracker_source_cache_del_source (cache, key);
}
if (cache->id_list) {
@@ -105,9 +107,9 @@ grl_tracker_media_cache_free (GrlTrackerCache *cache)
}
void
-grl_tracker_media_cache_add_item (GrlTrackerCache *cache,
- guint id,
- GrlTrackerMedia *source)
+grl_tracker_source_cache_add_item (GrlTrackerCache *cache,
+ guint id,
+ GrlTrackerSource *source)
{
GList *lid;
GrlTrackerCacheSource *csource;
@@ -120,7 +122,7 @@ grl_tracker_media_cache_add_item (GrlTrackerCache *cache,
csource = g_hash_table_lookup (cache->source_table, source);
if (!csource) {
- csource = grl_tracker_cache_media_new (source);
+ csource = grl_tracker_cache_source_new (source);
g_hash_table_insert (cache->source_table, source, csource);
}
@@ -144,8 +146,8 @@ grl_tracker_media_cache_add_item (GrlTrackerCache *cache,
}
void
-grl_tracker_media_cache_del_source (GrlTrackerCache *cache,
- GrlTrackerMedia *source)
+grl_tracker_source_cache_del_source (GrlTrackerCache *cache,
+ GrlTrackerSource *source)
{
GrlTrackerCacheSource *csource;
GHashTableIter iter;
@@ -167,11 +169,11 @@ grl_tracker_media_cache_del_source (GrlTrackerCache *cache,
}
g_hash_table_remove (cache->source_table, source);
- grl_tracker_cache_media_free (csource);
+ grl_tracker_cache_source_free (csource);
}
-GrlTrackerMedia *
-grl_tracker_media_cache_get_source (GrlTrackerCache *cache, guint id)
+GrlTrackerSource *
+grl_tracker_source_cache_get_source (GrlTrackerCache *cache, guint id)
{
GrlTrackerCacheSource *csource;
diff --git a/src/media/tracker/grl-tracker-media-cache.h b/src/media/tracker/grl-tracker-source-cache.h
similarity index 54%
rename from src/media/tracker/grl-tracker-media-cache.h
rename to src/media/tracker/grl-tracker-source-cache.h
index 1b5329e..a84930b 100644
--- a/src/media/tracker/grl-tracker-media-cache.h
+++ b/src/media/tracker/grl-tracker-source-cache.h
@@ -1,9 +1,11 @@
/*
* Copyright (C) 2011 Intel Corporation.
+ * Copyright (C) 2011-2012 Igalia S.L.
*
* Contact: Iago Toral Quiroga <itoral igalia com>
*
* Authors: Lionel Landwerlin <lionel g landwerlin linux intel com>
+ * Juan A. Suarez Romero <jasuarez igalia com>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public License
@@ -22,24 +24,24 @@
*
*/
-#ifndef _GRL_TRACKER_MEDIA_CACHE_H_
-#define _GRL_TRACKER_MEDIA_CACHE_H_
+#ifndef _GRL_TRACKER_SOURCE_CACHE_H_
+#define _GRL_TRACKER_SOURCE_CACHE_H_
-#include "grl-tracker-media.h"
+#include "grl-tracker-source.h"
typedef struct _GrlTrackerCache GrlTrackerCache;
-GrlTrackerCache *grl_tracker_media_cache_new (gsize size);
+GrlTrackerCache *grl_tracker_source_cache_new (gsize size);
-void grl_tracker_media_cache_free (GrlTrackerCache *cache);
+void grl_tracker_source_cache_free (GrlTrackerCache *cache);
-void grl_tracker_media_cache_add_item (GrlTrackerCache *cache,
- guint id,
- GrlTrackerMedia *source);
-void grl_tracker_media_cache_del_source (GrlTrackerCache *cache,
- GrlTrackerMedia *source);
+void grl_tracker_source_cache_add_item (GrlTrackerCache *cache,
+ guint id,
+ GrlTrackerSource *source);
+void grl_tracker_source_cache_del_source (GrlTrackerCache *cache,
+ GrlTrackerSource *source);
-GrlTrackerMedia *grl_tracker_media_cache_get_source (GrlTrackerCache *cache,
- guint id);
+GrlTrackerSource *grl_tracker_source_cache_get_source (GrlTrackerCache *cache,
+ guint id);
-#endif /* _GRL_TRACKER_MEDIA_CACHE_H_ */
+#endif /* _GRL_TRACKER_SOURCE_CACHE_H_ */
diff --git a/src/media/tracker/grl-tracker-media-notif.c b/src/media/tracker/grl-tracker-source-notif.c
similarity index 88%
rename from src/media/tracker/grl-tracker-media-notif.c
rename to src/media/tracker/grl-tracker-source-notif.c
index dc5e3aa..7a2d32b 100644
--- a/src/media/tracker/grl-tracker-media-notif.c
+++ b/src/media/tracker/grl-tracker-source-notif.c
@@ -1,10 +1,11 @@
/*
- * Copyright (C) 2011 Igalia S.L.
+ * Copyright (C) 2011-2012 Igalia S.L.
* Copyright (C) 2011 Intel Corporation.
*
* Contact: Iago Toral Quiroga <itoral igalia com>
*
* Authors: Lionel Landwerlin <lionel g landwerlin linux intel com>
+ * Juan A. Suarez Romero <jasuarez igalia com>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public License
@@ -26,8 +27,8 @@
#include <tracker-sparql.h>
#include "grl-tracker.h"
-#include "grl-tracker-media-notif.h"
-#include "grl-tracker-media-priv.h"
+#include "grl-tracker-source-notif.h"
+#include "grl-tracker-source-priv.h"
#include "grl-tracker-utils.h"
/* --------- Logging -------- */
@@ -38,7 +39,7 @@ GRL_LOG_DOMAIN_STATIC(tracker_notif_log_domain);
/* ------- Definitions ------- */
#define TRACKER_MEDIA_ITEM \
- "SELECT rdf:type(?urn) tracker:id(?urn) nie:dataSource(?urn) " \
+ "SELECT rdf:type(?urn) tracker:id(?urn) nie:dataSource(?urn) " \
"WHERE { ?urn a nfo:FileDataObject . " \
"FILTER (tracker:id(?urn) IN (%s)) }"
@@ -103,29 +104,29 @@ tracker_evt_update_free (tracker_evt_update_t *evt)
}
static void
-tracker_evt_update_media_add (tracker_evt_update_t *evt,
- const gchar *id,
- const gchar *source_name)
+tracker_evt_update_source_add (tracker_evt_update_t *evt,
+ const gchar *id,
+ const gchar *source_name)
{
- GrlTrackerMedia *source;
- GrlTrackerMediaPriv *priv;
+ GrlTrackerSource *source;
+ GrlTrackerSourcePriv *priv;
- source = g_hash_table_lookup (grl_tracker_media_sources_modified, id);
+ source = g_hash_table_lookup (grl_tracker_source_sources_modified, id);
if (!source) {
- source = g_object_new (GRL_TRACKER_MEDIA_TYPE,
+ source = g_object_new (GRL_TRACKER_SOURCE_TYPE,
"source-id", id,
"source-name", source_name,
- "source-desc", GRL_TRACKER_MEDIA_DESC,
+ "source-desc", GRL_TRACKER_SOURCE_DESC,
"tracker-connection", grl_tracker_connection,
"tracker-datasource", id,
NULL);
- g_hash_table_insert (grl_tracker_media_sources_modified,
- (gpointer) grl_tracker_media_get_tracker_source (source),
+ g_hash_table_insert (grl_tracker_source_sources_modified,
+ (gpointer) grl_tracker_source_get_tracker_source (source),
source);
}
- priv = GRL_TRACKER_MEDIA_GET_PRIVATE (source);
- priv->state = GRL_TRACKER_MEDIA_STATE_INSERTING;
+ priv = GRL_TRACKER_SOURCE_GET_PRIVATE (source);
+ priv->state = GRL_TRACKER_SOURCE_STATE_INSERTING;
priv->notification_ref++;
evt->new_sources = g_list_append (evt->new_sources, source);
@@ -135,19 +136,19 @@ tracker_evt_update_media_add (tracker_evt_update_t *evt,
}
static void
-tracker_evt_update_media_del (tracker_evt_update_t *evt,
- GrlTrackerMedia *source)
+tracker_evt_update_source_del (tracker_evt_update_t *evt,
+ GrlTrackerSource *source)
{
- GrlTrackerMediaPriv *priv = GRL_TRACKER_MEDIA_GET_PRIVATE (source);
+ GrlTrackerSourcePriv *priv = GRL_TRACKER_SOURCE_GET_PRIVATE (source);
priv->notification_ref++;
- priv->state = GRL_TRACKER_MEDIA_STATE_DELETING;
+ priv->state = GRL_TRACKER_SOURCE_STATE_DELETING;
evt->old_sources = g_list_append (evt->old_sources, source);
GRL_DEBUG ("Predel source p=%p name=%s id=%s count=%u", source,
grl_source_get_name (GRL_SOURCE (source)),
- grl_tracker_media_get_tracker_source (source),
+ grl_tracker_source_get_tracker_source (source),
priv->notification_ref);
}
@@ -160,13 +161,13 @@ tracker_evt_postupdate_sources (tracker_evt_update_t *evt)
source = evt->old_sources;
while (source != NULL) {
- grl_tracker_del_source (GRL_TRACKER_MEDIA (source->data));
+ grl_tracker_del_source (GRL_TRACKER_SOURCE (source->data));
source = source->next;
}
source = evt->new_sources;
while (source != NULL) {
- grl_tracker_add_source (GRL_TRACKER_MEDIA (source->data));
+ grl_tracker_add_source (GRL_TRACKER_SOURCE (source->data));
source = source->next;
}
@@ -180,7 +181,7 @@ tracker_evt_update_orphan_item_cb (GObject *object,
{
guint id;
const gchar *type, *datasource;
- GrlTrackerMedia *source = NULL;
+ GrlTrackerSource *source = NULL;
GError *error = NULL;
GRL_DEBUG ("%s: evt=%p", __FUNCTION__, evt);
@@ -214,15 +215,15 @@ tracker_evt_update_orphan_item_cb (GObject *object,
GRL_DEBUG ("\tOrphan item: id=%u datasource=%s", id, datasource);
if (datasource)
- source = grl_tracker_media_find (datasource);
+ source = grl_tracker_source_find (datasource);
- if (source && GRL_IS_TRACKER_MEDIA (source)) {
+ if (source && GRL_IS_TRACKER_SOURCE (source)) {
GrlMedia *media;
GRL_DEBUG (" \tAdding to cache id=%u", id);
- grl_tracker_media_cache_add_item (grl_tracker_item_cache, id, source);
+ grl_tracker_source_cache_add_item (grl_tracker_item_cache, id, source);
- if (grl_tracker_media_can_notify (source)) {
+ if (grl_tracker_source_can_notify (source)) {
media = grl_tracker_build_grilo_media (type);
if (media) {
gchar *str_id = g_strdup_printf ("%i", id);
@@ -311,11 +312,11 @@ tracker_evt_update_orphans (tracker_evt_update_t *evt)
/* Notify all sources that a media been removed */
source = sources;
while (source != NULL) {
- if (GRL_IS_TRACKER_MEDIA (source->data)) {
+ if (GRL_IS_TRACKER_SOURCE (source->data)) {
GRL_DEBUG ("\tNotify id=%u source=%s p=%p", id,
grl_source_get_name (GRL_SOURCE (source->data)),
source->data);
- if (grl_tracker_media_can_notify (GRL_TRACKER_MEDIA (source->data))) {
+ if (grl_tracker_source_can_notify (GRL_TRACKER_SOURCE (source->data))) {
GrlMedia *media = grl_media_new ();
gchar *str_id = g_strdup_printf ("%u", id);
@@ -363,7 +364,7 @@ tracker_evt_update_items_cb (gpointer key,
{
guint id = GPOINTER_TO_INT (key);
gchar *str_id;
- GrlTrackerMedia *source = (GrlTrackerMedia *) value;
+ GrlTrackerSource *source = (GrlTrackerSource *) value;
GrlMedia *media;
GRL_DEBUG ("%s: evt=%p", __FUNCTION__, evt);
@@ -373,7 +374,7 @@ tracker_evt_update_items_cb (gpointer key,
return;
}
- if (!grl_tracker_media_can_notify (source)) {
+ if (!grl_tracker_source_can_notify (source)) {
GRL_DEBUG ("\tno notification for source %s...",
grl_source_get_name (GRL_SOURCE (source)));
return;
@@ -412,7 +413,7 @@ tracker_evt_preupdate_sources_item_cb (GObject *object,
{
const gchar *type, *datasource, *uri, *datasource_name;
gboolean source_available = FALSE;
- GrlTrackerMedia *source;
+ GrlTrackerSource *source;
GError *error = NULL;
GRL_DEBUG ("%s: evt=%p", __FUNCTION__, evt);
@@ -443,25 +444,25 @@ tracker_evt_preupdate_sources_item_cb (GObject *object,
if (tracker_sparql_cursor_is_bound (evt->cursor, 4))
source_available = tracker_sparql_cursor_get_boolean (evt->cursor, 4);
- source = grl_tracker_media_find (datasource);
+ source = grl_tracker_source_find (datasource);
GRL_DEBUG ("\tdatasource=%s uri=%s available=%i source=%p",
datasource, uri, source_available, source);
if (source_available) {
if (source == NULL) {
- gchar *source_name = grl_tracker_get_media_name (type, uri, datasource,
- datasource_name);
+ gchar *source_name = grl_tracker_get_source_name (type, uri, datasource,
+ datasource_name);
/* Defer source creation until we have processed all sources */
if (source_name) {
- tracker_evt_update_media_add (evt, datasource, source_name);
+ tracker_evt_update_source_add (evt, datasource, source_name);
g_free (source_name);
}
} else {
GRL_DEBUG ("\tChanges on source %p / %s", source, datasource);
}
} else if (!source_available && source != NULL) {
- tracker_evt_update_media_del (evt, GRL_TRACKER_MEDIA (source));
+ tracker_evt_update_source_del (evt, GRL_TRACKER_SOURCE (source));
}
tracker_sparql_cursor_next_async (evt->cursor, NULL,
@@ -533,8 +534,8 @@ tracker_dbus_signal_cb (GDBusConnection *connection,
while (g_variant_iter_loop (iter1, "(iiii)", &graph,
&subject, &predicate, &object)) {
gpointer psubject = GSIZE_TO_POINTER (subject);
- GrlTrackerMedia *source =
- grl_tracker_media_cache_get_source (grl_tracker_item_cache, subject);
+ GrlTrackerSource *source =
+ grl_tracker_source_cache_get_source (grl_tracker_item_cache, subject);
/* GRL_DEBUG ("\tdelete=> subject=%i", subject); */
@@ -550,8 +551,8 @@ tracker_dbus_signal_cb (GDBusConnection *connection,
while (g_variant_iter_loop (iter2, "(iiii)", &graph,
&subject, &predicate, &object)) {
gpointer psubject = GSIZE_TO_POINTER (subject);
- GrlTrackerMedia *source =
- grl_tracker_media_cache_get_source (grl_tracker_item_cache, subject);
+ GrlTrackerSource *source =
+ grl_tracker_source_cache_get_source (grl_tracker_item_cache, subject);
/* GRL_DEBUG ("\tinsert=> subject=%i", subject); */
@@ -598,7 +599,7 @@ tracker_dbus_signal_cb (GDBusConnection *connection,
}
void
-grl_tracker_media_dbus_start_watch (void)
+grl_tracker_source_dbus_start_watch (void)
{
GDBusConnection *connection = g_bus_get_sync (G_BUS_TYPE_SESSION, NULL, NULL);
@@ -615,7 +616,7 @@ grl_tracker_media_dbus_start_watch (void)
}
void
-grl_tracker_media_init_notifs (void)
+grl_tracker_source_init_notifs (void)
{
GRL_LOG_DOMAIN_INIT (tracker_notif_log_domain, "tracker-notif");
}
diff --git a/src/media/tracker/grl-tracker-media-notif.h b/src/media/tracker/grl-tracker-source-notif.h
similarity index 85%
rename from src/media/tracker/grl-tracker-media-notif.h
rename to src/media/tracker/grl-tracker-source-notif.h
index 67eeba8..8ba3e3d 100644
--- a/src/media/tracker/grl-tracker-media-notif.h
+++ b/src/media/tracker/grl-tracker-source-notif.h
@@ -1,9 +1,11 @@
/*
* Copyright (C) 2011 Intel Corporation.
+ * Copyright (C) 2011-2012 Igalia S.L.
*
* Contact: Iago Toral Quiroga <itoral igalia com>
*
* Authors: Lionel Landwerlin <lionel g landwerlin linux intel com>
+ * Juan A. Suarez Romero <jasuarez igalia com>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public License
@@ -22,10 +24,10 @@
*
*/
-#ifndef _GRL_TRACKER_MEDIA_NOTIF_H_
-#define _GRL_TRACKER_MEDIA_NOTIF_H_
+#ifndef _GRL_TRACKER_SOURCE_NOTIF_H_
+#define _GRL_TRACKER_SOURCE_NOTIF_H_
-#include "grl-tracker-media.h"
+#include "grl-tracker-source.h"
/* ------- Definitions ------- */
@@ -47,8 +49,8 @@
/**/
-void grl_tracker_media_dbus_start_watch (void);
+void grl_tracker_source_dbus_start_watch (void);
-void grl_tracker_media_init_notifs (void);
+void grl_tracker_source_init_notifs (void);
-#endif /* _GRL_TRACKER_MEDIA_NOTIF_H_ */
+#endif /* _GRL_TRACKER_SOURCE_NOTIF_H_ */
diff --git a/src/media/tracker/grl-tracker-media-priv.h b/src/media/tracker/grl-tracker-source-priv.h
similarity index 62%
rename from src/media/tracker/grl-tracker-media-priv.h
rename to src/media/tracker/grl-tracker-source-priv.h
index aa8c46a..2af7ef9 100644
--- a/src/media/tracker/grl-tracker-media-priv.h
+++ b/src/media/tracker/grl-tracker-source-priv.h
@@ -1,10 +1,11 @@
/*
- * Copyright (C) 2011 Igalia S.L.
+ * Copyright (C) 2011-2012 Igalia S.L.
* Copyright (C) 2011 Intel Corporation.
*
* Contact: Iago Toral Quiroga <itoral igalia com>
*
* Authors: Lionel Landwerlin <lionel g landwerlin linux intel com>
+ * Juan A. Suarez Romero <jasuarez igalia com>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public License
@@ -23,19 +24,19 @@
*
*/
-#ifndef _GRL_TRACKER_MEDIA_PRIV_H_
-#define _GRL_TRACKER_MEDIA_PRIV_H_
+#ifndef _GRL_TRACKER_SOURCE_PRIV_H_
+#define _GRL_TRACKER_SOURCE_PRIV_H_
-#include "grl-tracker-media.h"
-#include "grl-tracker-media-cache.h"
+#include "grl-tracker-source.h"
+#include "grl-tracker-source-cache.h"
#include <tracker-sparql.h>
-/* ---- MediaSource information ---- */
+/* ---- Source information ---- */
-#define GRL_TRACKER_MEDIA_ID "grl-tracker-media"
-#define GRL_TRACKER_MEDIA_NAME "Tracker"
-#define GRL_TRACKER_MEDIA_DESC \
+#define GRL_TRACKER_SOURCE_ID "grl-tracker-source"
+#define GRL_TRACKER_SOURCE_NAME "Tracker"
+#define GRL_TRACKER_SOURCE_DESC \
"A plugin for searching multimedia " \
"content using Tracker"
@@ -45,19 +46,19 @@
/**/
-#define GRL_TRACKER_MEDIA_GET_PRIVATE(object) \
- (G_TYPE_INSTANCE_GET_PRIVATE((object), \
- GRL_TRACKER_MEDIA_TYPE, \
- GrlTrackerMediaPriv))
+#define GRL_TRACKER_SOURCE_GET_PRIVATE(object) \
+ (G_TYPE_INSTANCE_GET_PRIVATE((object), \
+ GRL_TRACKER_SOURCE_TYPE, \
+ GrlTrackerSourcePriv))
typedef enum {
- GRL_TRACKER_MEDIA_STATE_INSERTING,
- GRL_TRACKER_MEDIA_STATE_RUNNING,
- GRL_TRACKER_MEDIA_STATE_DELETING,
- GRL_TRACKER_MEDIA_STATE_DELETED,
-} GrlTrackerMediaState;
+ GRL_TRACKER_SOURCE_STATE_INSERTING,
+ GRL_TRACKER_SOURCE_STATE_RUNNING,
+ GRL_TRACKER_SOURCE_STATE_DELETING,
+ GRL_TRACKER_SOURCE_STATE_DELETED,
+} GrlTrackerSourceState;
-struct _GrlTrackerMediaPriv {
+struct _GrlTrackerSourcePriv {
TrackerSparqlConnection *tracker_connection;
GHashTable *operations;
@@ -65,7 +66,7 @@ struct _GrlTrackerMediaPriv {
gchar *tracker_datasource;
gboolean notify_changes;
- GrlTrackerMediaState state;
+ GrlTrackerSourceState state;
guint notification_ref;
};
@@ -75,7 +76,7 @@ extern GrlPlugin *grl_tracker_plugin;
/* shared data across */
extern GrlTrackerCache *grl_tracker_item_cache;
-extern GHashTable *grl_tracker_media_sources_modified;
+extern GHashTable *grl_tracker_source_sources_modified;
extern gboolean grl_tracker_upnp_present;
/* tracker plugin config */
@@ -83,4 +84,4 @@ extern gboolean grl_tracker_per_device_source;
extern gboolean grl_tracker_browse_filesystem;
extern gboolean grl_tracker_show_documents;
-#endif /* _GRL_TRACKER_MEDIA_PRIV_H_ */
+#endif /* _GRL_TRACKER_SOURCE_PRIV_H_ */
diff --git a/src/media/tracker/grl-tracker-media.c b/src/media/tracker/grl-tracker-source.c
similarity index 62%
rename from src/media/tracker/grl-tracker-media.c
rename to src/media/tracker/grl-tracker-source.c
index ae5b391..5a7bfe6 100644
--- a/src/media/tracker/grl-tracker-media.c
+++ b/src/media/tracker/grl-tracker-source.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2011 Igalia S.L.
+ * Copyright (C) 2011-2012 Igalia S.L.
* Copyright (C) 2011 Intel Corporation.
*
* Contact: Iago Toral Quiroga <itoral igalia com>
@@ -32,17 +32,17 @@
#include <tracker-sparql.h>
#include "grl-tracker.h"
-#include "grl-tracker-media.h"
-#include "grl-tracker-media-priv.h"
-#include "grl-tracker-media-api.h"
-#include "grl-tracker-media-cache.h"
-#include "grl-tracker-media-notif.h"
+#include "grl-tracker-source.h"
+#include "grl-tracker-source-priv.h"
+#include "grl-tracker-source-api.h"
+#include "grl-tracker-source-cache.h"
+#include "grl-tracker-source-notif.h"
#include "grl-tracker-utils.h"
/* --------- Logging -------- */
-#define GRL_LOG_DOMAIN_DEFAULT tracker_media_log_domain
-GRL_LOG_DOMAIN_STATIC(tracker_media_log_domain);
+#define GRL_LOG_DOMAIN_DEFAULT tracker_source_log_domain
+GRL_LOG_DOMAIN_STATIC(tracker_source_log_domain);
/* ------- Definitions ------- */
@@ -58,57 +58,58 @@ enum {
PROP_TRACKER_DATASOURCE,
};
-static void grl_tracker_media_set_property (GObject *object,
+static void grl_tracker_source_set_property (GObject *object,
guint propid,
const GValue *value,
GParamSpec *pspec);
-static void grl_tracker_media_finalize (GObject *object);
+static void grl_tracker_source_finalize (GObject *object);
/* ===================== Globals ================= */
/* shared data across */
GrlTrackerCache *grl_tracker_item_cache;
-GHashTable *grl_tracker_media_sources_modified;
-GHashTable *grl_tracker_media_sources;
+GHashTable *grl_tracker_source_sources_modified;
+GHashTable *grl_tracker_source_sources;
-/* ================== TrackerMedia GObject ================ */
+/* ================== TrackerSource GObject ================ */
-G_DEFINE_TYPE (GrlTrackerMedia, grl_tracker_media, GRL_TYPE_SOURCE);
+G_DEFINE_TYPE (GrlTrackerSource, grl_tracker_source, GRL_TYPE_SOURCE);
-static GrlTrackerMedia *
-grl_tracker_media_new (TrackerSparqlConnection *connection)
+static GrlTrackerSource *
+grl_tracker_source_new (TrackerSparqlConnection *connection)
{
GRL_DEBUG ("%s", __FUNCTION__);
- return g_object_new (GRL_TRACKER_MEDIA_TYPE,
- "source-id", GRL_TRACKER_MEDIA_ID,
- "source-name", GRL_TRACKER_MEDIA_NAME,
- "source-desc", GRL_TRACKER_MEDIA_DESC,
+ return g_object_new (GRL_TRACKER_SOURCE_TYPE,
+ "source-id", GRL_TRACKER_SOURCE_ID,
+ "source-name", GRL_TRACKER_SOURCE_NAME,
+ "source-desc", GRL_TRACKER_SOURCE_DESC,
"tracker-connection", connection,
"tracker-datasource", "",
NULL);
}
static void
-grl_tracker_media_class_init (GrlTrackerMediaClass * klass)
+grl_tracker_source_class_init (GrlTrackerSourceClass * klass)
{
GObjectClass *g_class = G_OBJECT_CLASS (klass);
GrlSourceClass *source_class = GRL_SOURCE_CLASS (klass);
- g_class->finalize = grl_tracker_media_finalize;
- g_class->set_property = grl_tracker_media_set_property;
+ g_class->finalize = grl_tracker_source_finalize;
+ g_class->set_property = grl_tracker_source_set_property;
- source_class->cancel = grl_tracker_media_cancel;
+ source_class->cancel = grl_tracker_source_cancel;
source_class->supported_keys = grl_tracker_supported_keys;
- source_class->writable_keys = grl_tracker_media_writable_keys;
- source_class->store_metadata = grl_tracker_media_store_metadata;
- source_class->query = grl_tracker_media_query;
- source_class->resolve = grl_tracker_media_resolve;
- source_class->search = grl_tracker_media_search;
- source_class->browse = grl_tracker_media_browse;
- source_class->notify_change_start = grl_tracker_media_change_start;
- source_class->notify_change_stop = grl_tracker_media_change_stop;
+ source_class->writable_keys = grl_tracker_source_writable_keys;
+ source_class->store_metadata = grl_tracker_source_store_metadata;
+ source_class->query = grl_tracker_source_query;
+ source_class->resolve = grl_tracker_source_resolve;
+ source_class->may_resolve = grl_tracker_source_may_resolve;
+ source_class->search = grl_tracker_source_search;
+ source_class->browse = grl_tracker_source_browse;
+ source_class->notify_change_start = grl_tracker_source_change_start;
+ source_class->notify_change_stop = grl_tracker_source_change_stop;
g_object_class_install_property (g_class,
@@ -131,13 +132,13 @@ grl_tracker_media_class_init (GrlTrackerMediaClass * klass)
| G_PARAM_CONSTRUCT_ONLY
| G_PARAM_STATIC_NAME));
- g_type_class_add_private (klass, sizeof (GrlTrackerMediaPriv));
+ g_type_class_add_private (klass, sizeof (GrlTrackerSourcePriv));
}
static void
-grl_tracker_media_init (GrlTrackerMedia *source)
+grl_tracker_source_init (GrlTrackerSource *source)
{
- GrlTrackerMediaPriv *priv = GRL_TRACKER_MEDIA_GET_PRIVATE (source);
+ GrlTrackerSourcePriv *priv = GRL_TRACKER_SOURCE_GET_PRIVATE (source);
source->priv = priv;
@@ -145,25 +146,25 @@ grl_tracker_media_init (GrlTrackerMedia *source)
}
static void
-grl_tracker_media_finalize (GObject *object)
+grl_tracker_source_finalize (GObject *object)
{
- GrlTrackerMedia *self;
+ GrlTrackerSource *self;
- self = GRL_TRACKER_MEDIA (object);
+ self = GRL_TRACKER_SOURCE (object);
if (self->priv->tracker_connection)
g_object_unref (self->priv->tracker_connection);
- G_OBJECT_CLASS (grl_tracker_media_parent_class)->finalize (object);
+ G_OBJECT_CLASS (grl_tracker_source_parent_class)->finalize (object);
}
static void
-grl_tracker_media_set_property (GObject *object,
- guint propid,
- const GValue *value,
- GParamSpec *pspec)
+grl_tracker_source_set_property (GObject *object,
+ guint propid,
+ const GValue *value,
+ GParamSpec *pspec)
{
- GrlTrackerMediaPriv *priv = GRL_TRACKER_MEDIA_GET_PRIVATE (object);
+ GrlTrackerSourcePriv *priv = GRL_TRACKER_SOURCE_GET_PRIVATE (object);
switch (propid) {
case PROP_TRACKER_CONNECTION:
@@ -184,11 +185,11 @@ grl_tracker_media_set_property (GObject *object,
}
const gchar *
-grl_tracker_media_get_tracker_source (GrlTrackerMedia *source)
+grl_tracker_source_get_tracker_source (GrlTrackerSource *source)
{
- GrlTrackerMediaPriv *priv;
+ GrlTrackerSourcePriv *priv;
- g_return_val_if_fail (GRL_IS_TRACKER_MEDIA (source), NULL);
+ g_return_val_if_fail (GRL_IS_TRACKER_SOURCE (source), NULL);
priv = source->priv;
@@ -196,23 +197,23 @@ grl_tracker_media_get_tracker_source (GrlTrackerMedia *source)
}
TrackerSparqlConnection *
-grl_tracker_media_get_tracker_connection (GrlTrackerMedia *source)
+grl_tracker_source_get_tracker_connection (GrlTrackerSource *source)
{
- GrlTrackerMediaPriv *priv;
+ GrlTrackerSourcePriv *priv;
- g_return_val_if_fail (GRL_IS_TRACKER_MEDIA (source), NULL);
+ g_return_val_if_fail (GRL_IS_TRACKER_SOURCE (source), NULL);
priv = source->priv;
return priv->tracker_connection;
}
-/* =================== TrackerMedia Plugin =============== */
+/* =================== TrackerSource Plugin =============== */
void
-grl_tracker_add_source (GrlTrackerMedia *source)
+grl_tracker_add_source (GrlTrackerSource *source)
{
- GrlTrackerMediaPriv *priv = GRL_TRACKER_MEDIA_GET_PRIVATE (source);
+ GrlTrackerSourcePriv *priv = GRL_TRACKER_SOURCE_GET_PRIVATE (source);
GRL_DEBUG ("====================>add source '%s' count=%u",
grl_source_get_name (GRL_SOURCE (source)),
@@ -222,12 +223,12 @@ grl_tracker_add_source (GrlTrackerMedia *source)
priv->notification_ref--;
}
if (priv->notification_ref == 0) {
- g_hash_table_remove (grl_tracker_media_sources_modified,
- grl_tracker_media_get_tracker_source (source));
- g_hash_table_insert (grl_tracker_media_sources,
- (gpointer) grl_tracker_media_get_tracker_source (source),
+ g_hash_table_remove (grl_tracker_source_sources_modified,
+ grl_tracker_source_get_tracker_source (source));
+ g_hash_table_insert (grl_tracker_source_sources,
+ (gpointer) grl_tracker_source_get_tracker_source (source),
source);
- priv->state = GRL_TRACKER_MEDIA_STATE_RUNNING;
+ priv->state = GRL_TRACKER_SOURCE_STATE_RUNNING;
grl_plugin_registry_register_source (grl_plugin_registry_get_default (),
grl_tracker_plugin,
GRL_SOURCE (source),
@@ -236,9 +237,9 @@ grl_tracker_add_source (GrlTrackerMedia *source)
}
void
-grl_tracker_del_source (GrlTrackerMedia *source)
+grl_tracker_del_source (GrlTrackerSource *source)
{
- GrlTrackerMediaPriv *priv = GRL_TRACKER_MEDIA_GET_PRIVATE (source);
+ GrlTrackerSourcePriv *priv = GRL_TRACKER_SOURCE_GET_PRIVATE (source);
GRL_DEBUG ("==================>del source '%s' count=%u",
grl_source_get_name (GRL_SOURCE (source)),
@@ -247,12 +248,12 @@ grl_tracker_del_source (GrlTrackerMedia *source)
priv->notification_ref--;
}
if (priv->notification_ref == 0) {
- g_hash_table_remove (grl_tracker_media_sources_modified,
- grl_tracker_media_get_tracker_source (source));
- g_hash_table_remove (grl_tracker_media_sources,
- grl_tracker_media_get_tracker_source (source));
- grl_tracker_media_cache_del_source (grl_tracker_item_cache, source);
- priv->state = GRL_TRACKER_MEDIA_STATE_DELETED;
+ g_hash_table_remove (grl_tracker_source_sources_modified,
+ grl_tracker_source_get_tracker_source (source));
+ g_hash_table_remove (grl_tracker_source_sources,
+ grl_tracker_source_get_tracker_source (source));
+ grl_tracker_source_cache_del_source (grl_tracker_item_cache, source);
+ priv->state = GRL_TRACKER_SOURCE_STATE_DELETED;
grl_plugin_registry_unregister_source (grl_plugin_registry_get_default (),
GRL_SOURCE (source),
NULL);
@@ -260,29 +261,29 @@ grl_tracker_del_source (GrlTrackerMedia *source)
}
gboolean
-grl_tracker_media_can_notify (GrlTrackerMedia *source)
+grl_tracker_source_can_notify (GrlTrackerSource *source)
{
- GrlTrackerMediaPriv *priv = GRL_TRACKER_MEDIA_GET_PRIVATE (source);
+ GrlTrackerSourcePriv *priv = GRL_TRACKER_SOURCE_GET_PRIVATE (source);
- if (priv->state == GRL_TRACKER_MEDIA_STATE_RUNNING)
+ if (priv->state == GRL_TRACKER_SOURCE_STATE_RUNNING)
return priv->notify_changes;
return FALSE;
}
-GrlTrackerMedia *
-grl_tracker_media_find (const gchar *id)
+GrlTrackerSource *
+grl_tracker_source_find (const gchar *id)
{
- GrlTrackerMedia *source;
+ GrlTrackerSource *source;
- source = g_hash_table_lookup (grl_tracker_media_sources, id);
+ source = g_hash_table_lookup (grl_tracker_source_sources, id);
if (source)
- return (GrlTrackerMedia *) source;
+ return (GrlTrackerSource *) source;
return
- (GrlTrackerMedia *) g_hash_table_lookup (grl_tracker_media_sources_modified,
- id);
+ (GrlTrackerSource *) g_hash_table_lookup (grl_tracker_source_sources_modified,
+ id);
}
static gboolean
@@ -299,19 +300,19 @@ match_plugin_id (gpointer key,
}
/* Search for registered plugin with @id */
-GrlTrackerMedia *
-grl_tracker_media_find_source (const gchar *id)
+GrlTrackerSource *
+grl_tracker_source_find_source (const gchar *id)
{
- GrlTrackerMedia *source;
+ GrlTrackerSource *source;
- source = g_hash_table_find (grl_tracker_media_sources,
+ source = g_hash_table_find (grl_tracker_source_sources,
match_plugin_id,
(gpointer) id);
if (source) {
return source;
}
- return g_hash_table_find (grl_tracker_media_sources_modified,
+ return g_hash_table_find (grl_tracker_source_sources_modified,
match_plugin_id,
(gpointer) id);
}
@@ -324,7 +325,7 @@ tracker_get_datasource_cb (GObject *object,
const gchar *type, *datasource, *datasource_name, *uri;
gboolean source_available = FALSE;
GError *error = NULL;
- GrlTrackerMedia *source;
+ GrlTrackerSource *source;
GRL_DEBUG ("%s", __FUNCTION__);
@@ -346,18 +347,18 @@ tracker_get_datasource_cb (GObject *object,
if (tracker_sparql_cursor_is_bound (cursor, 4))
source_available = tracker_sparql_cursor_get_boolean (cursor, 4);
- source = grl_tracker_media_find (datasource);
+ source = grl_tracker_source_find (datasource);
if ((source == NULL) && source_available) {
- gchar *source_name = grl_tracker_get_media_name (type, uri, datasource,
- datasource_name);
+ gchar *source_name = grl_tracker_get_source_name (type, uri, datasource,
+ datasource_name);
if (source_name) {
GRL_DEBUG ("\tnew datasource: urn=%s name=%s uri=%s => name=%s\n",
datasource, datasource_name, uri, source_name);
- source = g_object_new (GRL_TRACKER_MEDIA_TYPE,
+ source = g_object_new (GRL_TRACKER_SOURCE_TYPE,
"source-id", datasource,
"source-name", source_name,
- "source-desc", GRL_TRACKER_MEDIA_DESC,
+ "source-desc", GRL_TRACKER_SOURCE_DESC,
"tracker-connection", grl_tracker_connection,
"tracker-datasource", datasource,
NULL);
@@ -396,22 +397,22 @@ tracker_get_datasources_cb (GObject *object,
}
void
-grl_tracker_media_sources_init (void)
+grl_tracker_source_sources_init (void)
{
- GRL_LOG_DOMAIN_INIT (tracker_media_log_domain, "tracker-media");
+ GRL_LOG_DOMAIN_INIT (tracker_source_log_domain, "tracker-source");
GRL_DEBUG ("%s", __FUNCTION__);
grl_tracker_item_cache =
- grl_tracker_media_cache_new (TRACKER_ITEM_CACHE_SIZE);
- grl_tracker_media_sources = g_hash_table_new (g_str_hash, g_str_equal);
- grl_tracker_media_sources_modified = g_hash_table_new (g_str_hash,
- g_str_equal);
+ grl_tracker_source_cache_new (TRACKER_ITEM_CACHE_SIZE);
+ grl_tracker_source_sources = g_hash_table_new (g_str_hash, g_str_equal);
+ grl_tracker_source_sources_modified = g_hash_table_new (g_str_hash,
+ g_str_equal);
if (grl_tracker_connection != NULL) {
- grl_tracker_media_dbus_start_watch ();
+ grl_tracker_source_dbus_start_watch ();
if (grl_tracker_per_device_source == TRUE) {
/* Let's discover available data sources. */
@@ -425,7 +426,7 @@ grl_tracker_media_sources_init (void)
NULL);
} else {
/* One source to rule them all. */
- grl_tracker_add_source (grl_tracker_media_new (grl_tracker_connection));
+ grl_tracker_add_source (grl_tracker_source_new (grl_tracker_connection));
}
}
}
diff --git a/src/media/tracker/grl-tracker-source.h b/src/media/tracker/grl-tracker-source.h
new file mode 100644
index 0000000..a615726
--- /dev/null
+++ b/src/media/tracker/grl-tracker-source.h
@@ -0,0 +1,97 @@
+/*
+ * Copyright (C) 2011-2012 Igalia S.L.
+ *
+ * Contact: Iago Toral Quiroga <itoral igalia com>
+ *
+ * Authors: Juan A. Suarez Romero <jasuarez igalia com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA
+ *
+ */
+
+#ifndef _GRL_TRACKER_SOURCE_H_
+#define _GRL_TRACKER_SOURCE_H_
+
+#include <grilo.h>
+#include <tracker-sparql.h>
+
+#define GRL_TRACKER_SOURCE_TYPE \
+ (grl_tracker_source_get_type ())
+
+#define GRL_TRACKER_SOURCE(obj) \
+ (G_TYPE_CHECK_INSTANCE_CAST ((obj), \
+ GRL_TRACKER_SOURCE_TYPE, \
+ GrlTrackerSource))
+
+#define GRL_IS_TRACKER_SOURCE(obj) \
+ (G_TYPE_CHECK_INSTANCE_TYPE ((obj), \
+ GRL_TRACKER_SOURCE_TYPE))
+
+#define GRL_TRACKER_SOURCE_CLASS(klass) \
+ (G_TYPE_CHECK_CLASS_CAST((klass), \
+ GRL_TRACKER_SOURCE_TYPE, \
+ GrlTrackerSourceClass))
+
+#define GRL_IS_TRACKER_SOURCE_CLASS(klass) \
+ (G_TYPE_CHECK_CLASS_TYPE((klass), \
+ GRL_TRACKER_SOURCE_TYPE))
+
+#define GRL_TRACKER_SOURCE_GET_CLASS(obj) \
+ (G_TYPE_INSTANCE_GET_CLASS ((obj), \
+ GRL_TRACKER_SOURCE_TYPE, \
+ GrlTrackerSourceClass))
+
+typedef struct _GrlTrackerSource GrlTrackerSource;
+typedef struct _GrlTrackerSourcePriv GrlTrackerSourcePriv;
+
+struct _GrlTrackerSource {
+
+ GrlSource parent;
+
+ /*< private >*/
+ GrlTrackerSourcePriv *priv;
+
+};
+
+typedef struct _GrlTrackerSourceClass GrlTrackerSourceClass;
+
+struct _GrlTrackerSourceClass {
+
+ GrlSourceClass parent_class;
+
+};
+
+GType grl_tracker_source_get_type (void);
+
+gboolean grl_tracker_source_can_notify (GrlTrackerSource *source);
+
+const gchar *grl_tracker_source_get_tracker_source (GrlTrackerSource *source);
+
+TrackerSparqlConnection *grl_tracker_source_get_tracker_connection (GrlTrackerSource *source);
+
+/**/
+
+void grl_tracker_source_sources_init (void);
+
+void grl_tracker_add_source (GrlTrackerSource *source);
+
+void grl_tracker_del_source (GrlTrackerSource *source);
+
+GrlTrackerSource *grl_tracker_source_find (const gchar *id);
+
+GrlTrackerSource *grl_tracker_source_find_source (const gchar *id);
+
+#endif /* _GRL_TRACKER_SOURCE_H_ */
diff --git a/src/media/tracker/grl-tracker-utils.c b/src/media/tracker/grl-tracker-utils.c
index 76bf021..8030d8f 100644
--- a/src/media/tracker/grl-tracker-utils.c
+++ b/src/media/tracker/grl-tracker-utils.c
@@ -351,7 +351,7 @@ grl_tracker_key_is_supported (const GrlKeyID key)
/**/
gchar *
-grl_tracker_media_get_device_constraint (GrlTrackerMediaPriv *priv)
+grl_tracker_source_get_device_constraint (GrlTrackerSourcePriv *priv)
{
if (priv->tracker_datasource == NULL ||
priv->tracker_datasource[0] == '\0')
@@ -362,7 +362,7 @@ grl_tracker_media_get_device_constraint (GrlTrackerMediaPriv *priv)
}
gchar *
-grl_tracker_media_get_select_string (const GList *keys)
+grl_tracker_source_get_select_string (const GList *keys)
{
const GList *key = keys;
GString *gstr = g_string_new ("");
@@ -627,10 +627,10 @@ get_tracker_upnp_name (const gchar *datasource_name)
}
gchar *
-grl_tracker_get_media_name (const gchar *rdf_type,
- const gchar *uri,
- const gchar *datasource,
- const gchar *datasource_name)
+grl_tracker_get_source_name (const gchar *rdf_type,
+ const gchar *uri,
+ const gchar *datasource,
+ const gchar *datasource_name)
{
gchar *source_name = NULL;
gchar **rdf_single_type;
@@ -667,15 +667,3 @@ grl_tracker_supported_keys (GrlSource *source)
return supported_keys;
}
-
-GrlCaps *
-grl_tracker_get_caps (GrlSource *source,
- GrlSupportedOps operation)
-{
- static GrlCaps *caps = NULL;
-
- if (caps == NULL)
- caps = grl_caps_new ();
-
- return caps;
-}
diff --git a/src/media/tracker/grl-tracker-utils.h b/src/media/tracker/grl-tracker-utils.h
index 14862ca..797d7e2 100644
--- a/src/media/tracker/grl-tracker-utils.h
+++ b/src/media/tracker/grl-tracker-utils.h
@@ -26,7 +26,7 @@
#ifndef _GRL_TRACKER_UTILS_H_
#define _GRL_TRACKER_UTILS_H_
-#include "grl-tracker-media-priv.h"
+#include "grl-tracker-source-priv.h"
/* ------- Definitions ------- */
@@ -64,9 +64,6 @@ extern GrlKeyID grl_metadata_key_tracker_urn;
const GList *grl_tracker_supported_keys (GrlSource *source);
-GrlCaps * grl_tracker_get_caps (GrlSource *source,
- GrlSupportedOps operation);
-
gboolean grl_tracker_key_is_supported (const GrlKeyID key);
void grl_tracker_setup_key_mappings (void);
@@ -75,9 +72,9 @@ tracker_grl_sparql_t *grl_tracker_get_mapping_from_sparql (const gchar *key);
GrlMedia *grl_tracker_build_grilo_media (const gchar *rdf_type);
-gchar *grl_tracker_media_get_device_constraint (GrlTrackerMediaPriv *priv);
+gchar *grl_tracker_source_get_device_constraint (GrlTrackerSourcePriv *priv);
-gchar *grl_tracker_media_get_select_string (const GList *keys);
+gchar *grl_tracker_source_get_select_string (const GList *keys);
gchar *grl_tracker_tracker_get_insert_string (GrlMedia *media,
const GList *keys);
@@ -87,9 +84,9 @@ gchar *grl_tracker_get_delete_string (const GList *keys);
gchar *grl_tracker_get_delete_conditional_string (const gchar *urn,
const GList *keys);
-gchar *grl_tracker_get_media_name (const gchar *rdf_type,
- const gchar *uri,
- const gchar *datasource,
- const gchar *datasource_name);
+gchar *grl_tracker_get_source_name (const gchar *rdf_type,
+ const gchar *uri,
+ const gchar *datasource,
+ const gchar *datasource_name);
#endif /* _GRL_TRACKER_UTILS_H_ */
diff --git a/src/media/tracker/grl-tracker.c b/src/media/tracker/grl-tracker.c
index 69d8621..3e0293a 100644
--- a/src/media/tracker/grl-tracker.c
+++ b/src/media/tracker/grl-tracker.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2011 Igalia S.L.
+ * Copyright (C) 2011-2012 Igalia S.L.
* Copyright (C) 2011 Intel Corporation.
*
* Contact: Iago Toral Quiroga <itoral igalia com>
@@ -32,10 +32,9 @@
#include <tracker-sparql.h>
#include "grl-tracker.h"
-#include "grl-tracker-media.h"
-#include "grl-tracker-media-api.h"
-#include "grl-tracker-media-notif.h"
-#include "grl-tracker-metadata.h"
+#include "grl-tracker-source.h"
+#include "grl-tracker-source-api.h"
+#include "grl-tracker-source-notif.h"
#include "grl-tracker-request-queue.h"
#include "grl-tracker-utils.h"
@@ -94,10 +93,9 @@ init_sources (void)
grl_tracker_queue = grl_tracker_queue_new ();
if (grl_tracker_connection != NULL) {
- grl_tracker_media_dbus_start_watch ();
+ grl_tracker_source_dbus_start_watch ();
- grl_tracker_metadata_source_init ();
- grl_tracker_media_sources_init ();
+ grl_tracker_source_sources_init ();
}
}
@@ -189,7 +187,6 @@ tracker_get_connection_cb (GObject *object,
GrlPlugin *plugin)
{
GError *error = NULL;
- /* GrlTrackerMedia *source; */
GRL_DEBUG ("%s", __FUNCTION__);
@@ -219,9 +216,8 @@ grl_tracker_plugin_init (GrlPluginRegistry *registry,
gint config_count;
GRL_LOG_DOMAIN_INIT (tracker_general_log_domain, "tracker-general");
- grl_tracker_media_init_notifs ();
- grl_tracker_media_init_requests ();
- grl_tracker_metadata_init_requests ();
+ grl_tracker_source_init_notifs ();
+ grl_tracker_source_init_requests ();
grl_tracker_plugin = plugin;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]