summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos Garnacho <carlosg@gnome.org>2020-05-22 10:28:42 +0200
committerJean Felder <jean.felder@gmail.com>2020-08-21 15:05:10 +0000
commit60b42ba0e42a1c710a11c22d6fff019d176b2a57 (patch)
tree829e77fbaa907a2870344e4382b80e2ac62b6d33
parentf87957e239bc09e824f55a43328366ed319ca2e5 (diff)
downloadgrilo-plugins-60b42ba0e42a1c710a11c22d6fff019d176b2a57.tar.gz
tracker3: Drop request queue
For a large part, this work duplicates tracker's internal handling (eg. updates are already guaranteed to be executed sequentially), or even hinders it (eg. select queries are serialized even though they can run in parallel). This will also get a bit in the middle, as it makes sense to minimize the time between a query happening and a TrackerSparqlStatement being executed for that TrackerSparqlStatement to be ready for reuse ASAP. Drop this queue and let Tracker handle things itself.
-rw-r--r--src/tracker3/grl-tracker-request-queue.c250
-rw-r--r--src/tracker3/grl-tracker-request-queue.h84
-rw-r--r--src/tracker3/grl-tracker-source-api.c136
-rw-r--r--src/tracker3/grl-tracker.c4
-rw-r--r--src/tracker3/grl-tracker.h3
-rw-r--r--src/tracker3/meson.build2
6 files changed, 79 insertions, 400 deletions
diff --git a/src/tracker3/grl-tracker-request-queue.c b/src/tracker3/grl-tracker-request-queue.c
deleted file mode 100644
index 698e120..0000000
--- a/src/tracker3/grl-tracker-request-queue.c
+++ /dev/null
@@ -1,250 +0,0 @@
-/*
- * Copyright (C) 2011 Intel Corporation.
- *
- * Contact: Iago Toral Quiroga <itoral@igalia.com>
- *
- * Authors: Lionel Landwerlin <lionel.g.landwerlin@linux.intel.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
- *
- */
-
-#include "grl-tracker.h"
-#include "grl-tracker-request-queue.h"
-
-/**/
-
-struct _GrlTrackerQueue {
- GList *head;
- GList *tail;
- GHashTable *operations;
- GHashTable *operations_ids;
-};
-
-/**/
-
-static void
-grl_tracker_op_terminate (GrlTrackerOp *os)
-{
- if (os == NULL)
- return;
-
- g_clear_object (&os->statement);
- g_clear_pointer (&os->arguments, g_hash_table_unref);
- g_object_unref (os->cancel);
- g_free (os->request);
-
- g_slice_free (GrlTrackerOp, os);
-}
-
-static GrlTrackerOp *
-grl_tracker_op_initiate (gchar *request,
- GAsyncReadyCallback callback,
- gpointer data)
-{
- GrlTrackerOp *os = g_slice_new0 (GrlTrackerOp);
-
- os->request = request;
- os->callback = callback;
- os->data = data;
- os->cancel = g_cancellable_new ();
-
- return os;
-}
-
-GrlTrackerOp *
-grl_tracker_op_initiate_query (guint operation_id,
- TrackerSparqlStatement *statement,
- GHashTable *arguments,
- GAsyncReadyCallback callback,
- gpointer data)
-{
- GrlTrackerOp *os = grl_tracker_op_initiate (NULL,
- callback,
- data);
-
- os->type = GRL_TRACKER_OP_TYPE_QUERY;
- os->operation_id = operation_id;
- os->statement = g_object_ref (statement);
- os->arguments = arguments ? g_hash_table_ref (arguments) : NULL;
-
- /* g_hash_table_insert (grl_tracker_operations, */
- /* GSIZE_TO_POINTER (operation_id), os); */
-
- return os;
-}
-
-GrlTrackerOp *
-grl_tracker_op_initiate_metadata (TrackerSparqlStatement *statement,
- GHashTable *arguments,
- GAsyncReadyCallback callback,
- gpointer data)
-{
- GrlTrackerOp *os = grl_tracker_op_initiate (NULL,
- callback,
- data);
-
- os->type = GRL_TRACKER_OP_TYPE_QUERY;
- os->statement = g_object_ref (statement);
- os->arguments = arguments ? g_hash_table_ref (arguments) : NULL;
-
- return os;
-}
-
-GrlTrackerOp *
-grl_tracker_op_initiate_set_metadata (gchar *request,
- GAsyncReadyCallback callback,
- gpointer data)
-{
- GrlTrackerOp *os = grl_tracker_op_initiate (request,
- callback,
- data);
-
- os->type = GRL_TRACKER_OP_TYPE_UPDATE;
-
- return os;
-}
-
-static void
-set_up_statement (TrackerSparqlStatement *statement,
- GHashTable *arguments)
-{
- GHashTableIter iter;
- gpointer key, value;
-
- if (!arguments)
- return;
-
- g_hash_table_iter_init (&iter, arguments);
-
- while (g_hash_table_iter_next (&iter, &key, &value))
- tracker_sparql_statement_bind_string (statement, key, value);
-}
-
-static void
-grl_tracker_op_start (GrlTrackerOp *os)
-{
- switch (os->type) {
- case GRL_TRACKER_OP_TYPE_QUERY:
- set_up_statement (os->statement, os->arguments);
- tracker_sparql_statement_execute_async (os->statement,
- NULL,
- os->callback,
- os);
- break;
-
- case GRL_TRACKER_OP_TYPE_UPDATE:
- tracker_sparql_connection_update_async (grl_tracker_connection,
- os->request,
- G_PRIORITY_DEFAULT,
- NULL,
- os->callback,
- os);
- break;
-
- default:
- g_assert_not_reached();
- break;
- }
-}
-
-/**/
-
-GrlTrackerQueue *
-grl_tracker_queue_new (void)
-{
- GrlTrackerQueue *queue = g_new0 (GrlTrackerQueue, 1);
-
- queue->operations = g_hash_table_new (g_direct_hash, g_direct_equal);
- queue->operations_ids = g_hash_table_new (g_direct_hash, g_direct_equal);
-
- return queue;
-}
-
-void
-grl_tracker_queue_push (GrlTrackerQueue *queue,
- GrlTrackerOp *os)
-{
- gboolean first = FALSE;
-
- queue->tail = g_list_append (queue->tail, os);
- if (queue->tail->next)
- queue->tail = queue->tail->next;
- else {
- queue->head = queue->tail;
- first = TRUE;
- }
-
- g_assert (queue->tail->next == NULL);
-
- g_hash_table_insert (queue->operations, os, queue->tail);
- if (os->operation_id != 0)
- g_hash_table_insert (queue->operations_ids,
- GSIZE_TO_POINTER (os->operation_id), os);
-
- if (first)
- grl_tracker_op_start (os);
-}
-
-void
-grl_tracker_queue_cancel (GrlTrackerQueue *queue,
- GrlTrackerOp *os)
-{
- GList *item = g_hash_table_lookup (queue->operations, os);
-
- if (!item)
- return;
-
- g_cancellable_cancel (os->cancel);
-
- g_hash_table_remove (queue->operations, os);
- if (os->operation_id != 0)
- g_hash_table_remove (queue->operations_ids,
- GSIZE_TO_POINTER (os->operation_id));
-
- if (item == queue->head) {
- queue->head = queue->head->next;
- }
- if (item == queue->tail) {
- queue->tail = queue->tail->prev;
- }
-
- if (item->prev)
- item->prev->next = item->next;
- if (item->next)
- item->next->prev = item->prev;
-
- item->next = NULL;
- item->prev = NULL;
- g_list_free (item);
-}
-
-void
-grl_tracker_queue_done (GrlTrackerQueue *queue,
- GrlTrackerOp *os)
-{
- GrlTrackerOp *next_os;
-
- grl_tracker_queue_cancel (queue, os);
- grl_tracker_op_terminate (os);
-
- if (!queue->head)
- return;
-
- next_os = queue->head->data;
-
- grl_tracker_op_start (next_os);
-}
diff --git a/src/tracker3/grl-tracker-request-queue.h b/src/tracker3/grl-tracker-request-queue.h
deleted file mode 100644
index ffede6c..0000000
--- a/src/tracker3/grl-tracker-request-queue.h
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * Copyright (C) 2011 Intel Corporation.
- *
- * Contact: Iago Toral Quiroga <itoral@igalia.com>
- *
- * Authors: Lionel Landwerlin <lionel.g.landwerlin@linux.intel.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_REQUEST_QUEUE_H_
-#define _GRL_TRACKER_REQUEST_QUEUE_H_
-
-#include <grilo.h>
-#include <tracker-sparql.h>
-
-/**/
-
-typedef enum {
- GRL_TRACKER_OP_TYPE_QUERY,
- GRL_TRACKER_OP_TYPE_UPDATE,
-} GrlTrackerOpType;
-
-typedef struct {
- GrlTrackerOpType type;
- GAsyncReadyCallback callback;
- GCancellable *cancel;
- TrackerSparqlConnection *connection;
- TrackerSparqlStatement *statement;
- GHashTable *arguments;
- gchar *request;
- const GList *keys;
- gpointer data;
-
- guint operation_id;
-
- guint skip;
- GrlTypeFilter type_filter;
-} GrlTrackerOp;
-
-typedef struct _GrlTrackerQueue GrlTrackerQueue;
-
-/**/
-
-GrlTrackerOp *grl_tracker_op_initiate_query (guint operation_id,
- TrackerSparqlStatement *statement,
- GHashTable *arguments,
- GAsyncReadyCallback callback,
- gpointer data);
-
-GrlTrackerOp *grl_tracker_op_initiate_metadata (TrackerSparqlStatement *statement,
- GHashTable *arguments,
- GAsyncReadyCallback callback,
- gpointer data);
-
-GrlTrackerOp *grl_tracker_op_initiate_set_metadata (gchar *request,
- GAsyncReadyCallback callback,
- gpointer data);
-
-/**/
-
-GrlTrackerQueue *grl_tracker_queue_new (void);
-
-void grl_tracker_queue_push (GrlTrackerQueue *queue, GrlTrackerOp *os);
-
-void grl_tracker_queue_cancel (GrlTrackerQueue *queue, GrlTrackerOp *os);
-
-void grl_tracker_queue_done (GrlTrackerQueue *queue, GrlTrackerOp *os);
-
-#endif /* _GRL_TRACKER_REQUEST_QUEUE_H_ */
diff --git a/src/tracker3/grl-tracker-source-api.c b/src/tracker3/grl-tracker-source-api.c
index 48e2b05..6001e99 100644
--- a/src/tracker3/grl-tracker-source-api.c
+++ b/src/tracker3/grl-tracker-source-api.c
@@ -35,7 +35,6 @@
#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 -------- */
@@ -153,10 +152,12 @@ GRL_LOG_DOMAIN_STATIC(tracker_source_result_log_domain);
static GrlKeyID grl_metadata_key_tracker_category;
static GHashTable *grl_tracker_operations;
-/**/
-
-
-/**/
+typedef struct {
+ GCancellable *cancel;
+ const GList *keys;
+ gpointer data;
+ GrlTypeFilter type_filter;
+} GrlTrackerOp;
/**/
@@ -315,6 +316,29 @@ get_sparql_type_filter (GrlOperationOptions *options,
return g_string_free (sparql_filter, FALSE);
}
+static GrlTrackerOp *
+grl_tracker_op_new (GrlTypeFilter type_filter,
+ const GList *keys,
+ gpointer data)
+{
+ GrlTrackerOp *os;
+
+ os = g_new0 (GrlTrackerOp, 1);
+ os->cancel = g_cancellable_new ();
+ os->keys = keys;
+ os->type_filter = type_filter;
+ os->data = data;
+
+ return os;
+}
+
+static void
+grl_tracker_op_free (GrlTrackerOp *os)
+{
+ g_object_unref (os->cancel);
+ g_free (os);
+}
+
/* I can haz templatze ?? */
#define TRACKER_QUERY_CB(spec_type,name,error) \
\
@@ -362,7 +386,7 @@ get_sparql_type_filter (GrlOperationOptions *options,
spec->user_data, NULL); \
} \
\
- grl_tracker_queue_done (grl_tracker_queue, os); \
+ grl_tracker_op_free (os); \
g_object_unref (cursor); \
return; \
} \
@@ -404,6 +428,7 @@ get_sparql_type_filter (GrlOperationOptions *options,
GAsyncResult *result, \
GrlTrackerOp *os) \
{ \
+ TrackerSparqlStatement *statement = TRACKER_SPARQL_STATEMENT (source_object); \
GError *tracker_error = NULL, *error = NULL; \
spec_type *spec = (spec_type *) os->data; \
TrackerSparqlCursor *cursor; \
@@ -411,7 +436,7 @@ get_sparql_type_filter (GrlOperationOptions *options,
GRL_ODEBUG ("%s", __FUNCTION__); \
\
cursor = \
- tracker_sparql_statement_execute_finish (os->statement, \
+ tracker_sparql_statement_execute_finish (statement, \
result, &tracker_error); \
\
if (tracker_error) { \
@@ -428,7 +453,7 @@ get_sparql_type_filter (GrlOperationOptions *options,
\
g_error_free (tracker_error); \
g_error_free (error); \
- grl_tracker_queue_done (grl_tracker_queue, os); \
+ grl_tracker_op_free (os); \
\
return; \
} \
@@ -448,6 +473,7 @@ tracker_resolve_cb (GObject *source_object,
GAsyncResult *result,
GrlTrackerOp *os)
{
+ TrackerSparqlStatement *statement = TRACKER_SPARQL_STATEMENT (source_object);
GrlSourceResolveSpec *rs = (GrlSourceResolveSpec *) os->data;
GrlTrackerSourcePriv *priv = GRL_TRACKER_SOURCE_GET_PRIVATE (rs->source);
gint col;
@@ -456,7 +482,7 @@ tracker_resolve_cb (GObject *source_object,
GRL_ODEBUG ("%s", __FUNCTION__);
- cursor = tracker_sparql_statement_execute_finish (os->statement,
+ cursor = tracker_sparql_statement_execute_finish (statement,
result, &tracker_error);
if (tracker_error) {
@@ -493,7 +519,7 @@ tracker_resolve_cb (GObject *source_object,
end_operation:
g_clear_object (&cursor);
- grl_tracker_queue_done (grl_tracker_queue, os);
+ grl_tracker_op_free (os);
}
static void
@@ -501,6 +527,7 @@ tracker_media_from_uri_cb (GObject *source_object,
GAsyncResult *result,
GrlTrackerOp *os)
{
+ TrackerSparqlStatement *statement = TRACKER_SPARQL_STATEMENT (source_object); \
GrlSourceMediaFromUriSpec *mfus = (GrlSourceMediaFromUriSpec *) os->data;
GrlTrackerSourcePriv *priv = GRL_TRACKER_SOURCE_GET_PRIVATE (mfus->source);
GError *tracker_error = NULL, *error = NULL;
@@ -511,7 +538,7 @@ tracker_media_from_uri_cb (GObject *source_object,
GRL_ODEBUG ("%s", __FUNCTION__);
- cursor = tracker_sparql_statement_execute_finish (os->statement,
+ cursor = tracker_sparql_statement_execute_finish (statement,
result, &tracker_error);
if (tracker_error) {
@@ -552,7 +579,7 @@ tracker_media_from_uri_cb (GObject *source_object,
end_operation:
g_clear_object (&cursor);
- grl_tracker_queue_done (grl_tracker_queue, os);
+ grl_tracker_op_free (os);
}
static void
@@ -586,7 +613,7 @@ tracker_store_metadata_cb (GObject *source_object,
sms->callback (sms->source, sms->media, NULL, sms->user_data, error);
}
- grl_tracker_queue_done (grl_tracker_queue, os);
+ grl_tracker_op_free (os);
}
/**/
@@ -781,19 +808,13 @@ grl_tracker_source_query (GrlSource *source,
qs->query,
NULL, NULL);
- os = grl_tracker_op_initiate_query (qs->operation_id,
- statement, NULL,
- (GAsyncReadyCallback) tracker_query_cb,
- qs);
+ os = grl_tracker_op_new (grl_operation_options_get_type_filter (qs->options),
+ qs->keys, qs);
- os->keys = qs->keys;
- os->skip = skip;
- os->type_filter = grl_operation_options_get_type_filter (qs->options);
- os->data = qs;
- /* os->cb.sr = qs->callback; */
- /* os->user_data = qs->user_data; */
-
- grl_tracker_queue_push (grl_tracker_queue, os);
+ tracker_sparql_statement_execute_async (statement,
+ os->cancel,
+ (GAsyncReadyCallback) tracker_query_cb,
+ os);
g_clear_object (&statement);
@@ -838,12 +859,12 @@ grl_tracker_source_resolve (GrlSource *source,
sparql_final,
NULL, NULL);
- os = grl_tracker_op_initiate_metadata (statement, NULL,
- (GAsyncReadyCallback) tracker_resolve_cb,
- rs);
- os->keys = rs->keys;
+ os = grl_tracker_op_new (GRL_TYPE_FILTER_ALL, rs->keys, rs);
- grl_tracker_queue_push (grl_tracker_queue, os);
+ tracker_sparql_statement_execute_async (statement,
+ os->cancel,
+ (GAsyncReadyCallback) tracker_resolve_cb,
+ os);
g_clear_pointer (&sparql_type_filter, g_free);
g_clear_pointer (&sparql_select, g_free);
@@ -880,6 +901,7 @@ void
grl_tracker_source_store_metadata (GrlSource *source,
GrlSourceStoreMetadataSpec *sms)
{
+ GrlTrackerSourcePriv *priv = GRL_TRACKER_SOURCE_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);
@@ -902,14 +924,16 @@ grl_tracker_source_store_metadata (GrlSource *source,
urn, sparql_insert);
}
- os = grl_tracker_op_initiate_set_metadata (sparql_final,
- (GAsyncReadyCallback) tracker_store_metadata_cb,
- sms);
- os->keys = sms->keys;
-
GRL_IDEBUG ("\trequest: '%s'", sparql_final);
- grl_tracker_queue_push (grl_tracker_queue, os);
+ os = grl_tracker_op_new (GRL_TYPE_FILTER_ALL, sms->keys, sms);
+
+ tracker_sparql_connection_update_async (priv->tracker_connection,
+ sparql_final,
+ G_PRIORITY_DEFAULT,
+ os->cancel,
+ tracker_store_metadata_cb,
+ os);
g_free (sparql_delete);
g_free (sparql_cdelete);
@@ -957,15 +981,13 @@ grl_tracker_source_search (GrlSource *source, GrlSourceSearchSpec *ss)
sparql_final,
NULL, NULL);
- os = grl_tracker_op_initiate_query (ss->operation_id,
- statement, NULL,
- (GAsyncReadyCallback) tracker_search_cb,
- ss);
- os->keys = ss->keys;
- os->skip = skip;
- os->type_filter = grl_operation_options_get_type_filter (ss->options);
+ os = grl_tracker_op_new (grl_operation_options_get_type_filter (ss->options),
+ ss->keys, ss);
- grl_tracker_queue_push (grl_tracker_queue, os);
+ tracker_sparql_statement_execute_async (statement,
+ os->cancel,
+ (GAsyncReadyCallback) tracker_search_cb,
+ os);
g_free (sparql_select);
g_free (sparql_type_filter);
@@ -1128,15 +1150,13 @@ grl_tracker_source_browse_category (GrlSource *source,
sparql_final,
NULL, NULL);
- os = grl_tracker_op_initiate_query (bs->operation_id,
- statement, NULL,
- (GAsyncReadyCallback) tracker_browse_cb,
- bs);
- os->keys = bs->keys;
- os->skip = skip;
- os->type_filter = grl_operation_options_get_type_filter (bs->options);
+ os = grl_tracker_op_new (grl_operation_options_get_type_filter (bs->options),
+ bs->keys, bs);
- grl_tracker_queue_push (grl_tracker_queue, os);
+ tracker_sparql_statement_execute_async (statement,
+ os->cancel,
+ (GAsyncReadyCallback) tracker_browse_cb,
+ os);
g_free (sparql_select);
g_free (duration_constraint);
@@ -1165,7 +1185,7 @@ grl_tracker_source_cancel (GrlSource *source, guint operation_id)
GSIZE_TO_POINTER (operation_id));
if (os != NULL)
- grl_tracker_queue_cancel (grl_tracker_queue, os);
+ g_cancellable_cancel (os->cancel);
}
gboolean
@@ -1312,12 +1332,12 @@ grl_tracker_source_get_media_from_uri (GrlSource *source,
sparql_final,
NULL, NULL);
- os = grl_tracker_op_initiate_metadata (statement, NULL,
- (GAsyncReadyCallback) tracker_media_from_uri_cb,
- mfus);
- os->keys = mfus->keys;
+ os = grl_tracker_op_new (GRL_TYPE_FILTER_ALL, mfus->keys, mfus);
- grl_tracker_queue_push (grl_tracker_queue, os);
+ tracker_sparql_statement_execute_async (statement,
+ os->cancel,
+ (GAsyncReadyCallback) tracker_media_from_uri_cb,
+ os);
g_free (sparql_select);
g_clear_object (&statement);
diff --git a/src/tracker3/grl-tracker.c b/src/tracker3/grl-tracker.c
index 380f816..cab9e45 100644
--- a/src/tracker3/grl-tracker.c
+++ b/src/tracker3/grl-tracker.c
@@ -35,7 +35,6 @@
#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"
/* --------- Logging -------- */
@@ -54,7 +53,6 @@ gboolean grl_tracker3_plugin_init (GrlRegistry *registry,
TrackerSparqlConnection *grl_tracker_connection = NULL;
GrlPlugin *grl_tracker_plugin;
GCancellable *grl_tracker_plugin_init_cancel = NULL;
-GrlTrackerQueue *grl_tracker_queue = NULL;
/* tracker plugin config */
gchar *grl_tracker_store_path = NULL;
@@ -66,8 +64,6 @@ init_sources (void)
{
grl_tracker_setup_key_mappings ();
- grl_tracker_queue = grl_tracker_queue_new ();
-
if (grl_tracker_connection != NULL)
grl_tracker_source_sources_init ();
}
diff --git a/src/tracker3/grl-tracker.h b/src/tracker3/grl-tracker.h
index 847ecd2..c94069d 100644
--- a/src/tracker3/grl-tracker.h
+++ b/src/tracker3/grl-tracker.h
@@ -25,13 +25,12 @@
#ifndef _GRL_TRACKER_H_
#define _GRL_TRACKER_H_
-#include "grl-tracker-request-queue.h"
+#include <libtracker-sparql/tracker-sparql.h>
/* ---- Plugin information --- */
#define GRL_TRACKER_PLUGIN_ID TRACKER3_PLUGIN_ID
-extern GrlTrackerQueue *grl_tracker_queue;
extern TrackerSparqlConnection *grl_tracker_connection;
#endif /* _GRL_TRACKER_H_ */
diff --git a/src/tracker3/meson.build b/src/tracker3/meson.build
index 4ce507c..81b346a 100644
--- a/src/tracker3/meson.build
+++ b/src/tracker3/meson.build
@@ -6,8 +6,6 @@
# Copyright (C) 2016 Igalia S.L. All rights reserved.
tracker_sources = [
- 'grl-tracker-request-queue.c',
- 'grl-tracker-request-queue.h',
'grl-tracker-source-api.c',
'grl-tracker-source-api.h',
'grl-tracker-source-cache.c',