[tracker/wip/carlosg/last-api-changes: 1/4] libtracker-sparql: Drop notifier flags



commit e1c6966a9a941fc61db3b32e5eee31f8512e2462
Author: Carlos Garnacho <carlosg gnome org>
Date:   Tue Jun 16 13:22:25 2020 +0200

    libtracker-sparql: Drop notifier flags
    
    URNs are the preferred way to identify resources in a tracker store,
    don't treat them as an afterthought here and query the URNs right
    away. Drop the flags argument entirely as it becomes unneeded, any
    further information cannot be inferred and should be performed by
    the user.

 src/libtracker-bus/tracker-bus.vala                |  4 +--
 src/libtracker-direct/tracker-direct.c             |  4 +--
 .../libtracker-sparql-intermediate-c.vapi          |  2 +-
 src/libtracker-sparql/tracker-connection.c         |  6 ++--
 src/libtracker-sparql/tracker-connection.h         |  3 +-
 src/libtracker-sparql/tracker-endpoint-dbus.c      |  2 +-
 src/libtracker-sparql/tracker-notifier.c           | 41 ++--------------------
 src/libtracker-sparql/tracker-notifier.h           | 12 -------
 src/libtracker-sparql/tracker-private.h            |  3 +-
 tests/functional-tests/notifier.py                 |  2 +-
 utils/trackertestutils/storehelper.py              |  8 ++---
 11 files changed, 17 insertions(+), 70 deletions(-)
---
diff --git a/src/libtracker-bus/tracker-bus.vala b/src/libtracker-bus/tracker-bus.vala
index af3e4b2e3..d3139e5db 100644
--- a/src/libtracker-bus/tracker-bus.vala
+++ b/src/libtracker-bus/tracker-bus.vala
@@ -268,10 +268,10 @@ public class Tracker.Bus.Connection : Tracker.Sparql.Connection {
                return reply.get_body ().get_child_value (0);
        }
 
-       public override Tracker.Notifier? create_notifier (Tracker.NotifierFlags flags) {
+       public override Tracker.Notifier? create_notifier () {
                var notifier = (Tracker.Notifier) Object.new (typeof (Tracker.Notifier),
                                                              "connection", this,
-                                                             "flags", flags, null);
+                                                             null);
 
                notifier.signal_subscribe (this.bus, this.dbus_name, null);
 
diff --git a/src/libtracker-direct/tracker-direct.c b/src/libtracker-direct/tracker-direct.c
index c06256f9a..ad12c7726 100644
--- a/src/libtracker-direct/tracker-direct.c
+++ b/src/libtracker-direct/tracker-direct.c
@@ -870,8 +870,7 @@ tracker_direct_connection_get_namespace_manager (TrackerSparqlConnection *self)
 }
 
 static TrackerNotifier *
-tracker_direct_connection_create_notifier (TrackerSparqlConnection *self,
-                                          TrackerNotifierFlags     flags)
+tracker_direct_connection_create_notifier (TrackerSparqlConnection *self)
 {
        TrackerDirectConnectionPrivate *priv;
        TrackerNotifier *notifier;
@@ -881,7 +880,6 @@ tracker_direct_connection_create_notifier (TrackerSparqlConnection *self,
 
        notifier = g_object_new (TRACKER_TYPE_NOTIFIER,
                                 "connection", self,
-                                "flags", flags,
                                 NULL);
 
        tracker_data = tracker_data_manager_get_data (priv->data_manager);
diff --git a/src/libtracker-sparql/libtracker-sparql-intermediate-c.vapi 
b/src/libtracker-sparql/libtracker-sparql-intermediate-c.vapi
index 74eeca38c..5be0f543a 100644
--- a/src/libtracker-sparql/libtracker-sparql-intermediate-c.vapi
+++ b/src/libtracker-sparql/libtracker-sparql-intermediate-c.vapi
@@ -88,7 +88,7 @@ namespace Tracker {
 
                public virtual Statement? query_statement (string sparql, GLib.Cancellable? cancellable = 
null) throws Sparql.Error;
 
-                public virtual Notifier? create_notifier (NotifierFlags flags);
+                public virtual Notifier? create_notifier ();
                 public virtual void close ();
                 public async virtual bool close_async () throws GLib.IOError;
        }
diff --git a/src/libtracker-sparql/tracker-connection.c b/src/libtracker-sparql/tracker-connection.c
index 04e284e5b..523a4338e 100644
--- a/src/libtracker-sparql/tracker-connection.c
+++ b/src/libtracker-sparql/tracker-connection.c
@@ -566,7 +566,6 @@ tracker_sparql_connection_query_statement (TrackerSparqlConnection  *connection,
 /**
  * tracker_sparql_connection_create_notifier:
  * @connection: a #TrackerSparqlConnection
- * @flags: flags to modify notifier behavior
  *
  * Creates a new #TrackerNotifier to notify about changes in @connection.
  * See #TrackerNotifier documentation for information about how to use this
@@ -576,12 +575,11 @@ tracker_sparql_connection_query_statement (TrackerSparqlConnection  *connection,
  *          when no longer needed.
  **/
 TrackerNotifier *
-tracker_sparql_connection_create_notifier (TrackerSparqlConnection *connection,
-                                           TrackerNotifierFlags     flags)
+tracker_sparql_connection_create_notifier (TrackerSparqlConnection *connection)
 {
        g_return_val_if_fail (TRACKER_IS_SPARQL_CONNECTION (connection), NULL);
 
-       return TRACKER_SPARQL_CONNECTION_GET_CLASS (connection)->create_notifier (connection, flags);
+       return TRACKER_SPARQL_CONNECTION_GET_CLASS (connection)->create_notifier (connection);
 }
 
 /**
diff --git a/src/libtracker-sparql/tracker-connection.h b/src/libtracker-sparql/tracker-connection.h
index 425c38604..2406a4625 100644
--- a/src/libtracker-sparql/tracker-connection.h
+++ b/src/libtracker-sparql/tracker-connection.h
@@ -217,8 +217,7 @@ TrackerSparqlStatement * tracker_sparql_connection_query_statement (TrackerSparq
                                                                     GCancellable             *cancellable,
                                                                     GError                  **error);
 TRACKER_AVAILABLE_IN_ALL
-TrackerNotifier * tracker_sparql_connection_create_notifier (TrackerSparqlConnection *connection,
-                                                             TrackerNotifierFlags     flags);
+TrackerNotifier * tracker_sparql_connection_create_notifier (TrackerSparqlConnection *connection);
 
 TRACKER_AVAILABLE_IN_ALL
 void tracker_sparql_connection_close (TrackerSparqlConnection *connection);
diff --git a/src/libtracker-sparql/tracker-endpoint-dbus.c b/src/libtracker-sparql/tracker-endpoint-dbus.c
index 4ecf5d8e6..3504a4fa6 100644
--- a/src/libtracker-sparql/tracker-endpoint-dbus.c
+++ b/src/libtracker-sparql/tracker-endpoint-dbus.c
@@ -685,7 +685,7 @@ tracker_endpoint_dbus_initable_init (GInitable     *initable,
                                                   error);
 
        conn = tracker_endpoint_get_sparql_connection (endpoint);
-       endpoint_dbus->notifier = tracker_sparql_connection_create_notifier (conn, 0);
+       endpoint_dbus->notifier = tracker_sparql_connection_create_notifier (conn);
        g_signal_connect (endpoint_dbus->notifier, "events",
                          G_CALLBACK (notifier_events_cb), endpoint);
 
diff --git a/src/libtracker-sparql/tracker-notifier.c b/src/libtracker-sparql/tracker-notifier.c
index a74fc7062..5d83720cd 100644
--- a/src/libtracker-sparql/tracker-notifier.c
+++ b/src/libtracker-sparql/tracker-notifier.c
@@ -85,7 +85,6 @@ struct _TrackerNotifierSubscription {
 
 struct _TrackerNotifierPrivate {
        TrackerSparqlConnection *connection;
-       TrackerNotifierFlags flags;
        GHashTable *subscriptions; /* guint -> TrackerNotifierSubscription */
        GCancellable *cancellable;
 };
@@ -107,7 +106,6 @@ struct _TrackerNotifierEvent {
 enum {
        PROP_0,
        PROP_CONNECTION,
-       PROP_FLAGS,
        N_PROPS
 };
 
@@ -323,12 +321,10 @@ static gchar *
 create_extra_info_query (TrackerNotifier           *notifier,
                          TrackerNotifierEventCache *cache)
 {
-       TrackerNotifierPrivate *priv;
        GString *sparql, *filter;
        gboolean has_elements = FALSE;
        GSequenceIter *iter;
 
-       priv = tracker_notifier_get_instance_private (notifier);
        filter = g_string_new (NULL);
 
        for (iter = g_sequence_get_begin_iter (cache->sequence);
@@ -350,10 +346,7 @@ create_extra_info_query (TrackerNotifier           *notifier,
                return NULL;
        }
 
-       sparql = g_string_new ("SELECT ?id ");
-
-       if (priv->flags & TRACKER_NOTIFIER_FLAG_QUERY_URN)
-               g_string_append (sparql, "tracker:uri(xsd:integer(?id)) ");
+       sparql = g_string_new ("SELECT ?id tracker:uri(xsd:integer(?id)) ");
 
        g_string_append_printf (sparql,
                                "{ VALUES ?id { %s } } "
@@ -370,7 +363,6 @@ query_extra_info_cb (GObject      *object,
 {
        TrackerNotifierEventCache *cache = user_data;
        TrackerSparqlConnection *conn;
-       TrackerNotifierPrivate *priv;
        TrackerSparqlCursor *cursor;
        TrackerNotifierEvent *event;
        GSequenceIter *iter;
@@ -378,7 +370,6 @@ query_extra_info_cb (GObject      *object,
        gint col;
        gint64 id;
 
-       priv = tracker_notifier_get_instance_private (cache->notifier);
        conn = TRACKER_SPARQL_CONNECTION (object);
        cursor = tracker_sparql_connection_query_finish (conn, res, &error);
 
@@ -413,8 +404,7 @@ query_extra_info_cb (GObject      *object,
                        break;
                }
 
-               if (priv->flags & TRACKER_NOTIFIER_FLAG_QUERY_URN)
-                       event->urn = g_strdup (tracker_sparql_cursor_get_string (cursor, col++, NULL));
+               event->urn = g_strdup (tracker_sparql_cursor_get_string (cursor, col++, NULL));
        }
 
        g_object_unref (cursor);
@@ -445,18 +435,13 @@ void
 _tracker_notifier_event_cache_flush_events (TrackerNotifierEventCache *cache)
 {
        TrackerNotifier *notifier = cache->notifier;
-       TrackerNotifierPrivate *priv = tracker_notifier_get_instance_private (notifier);
 
        if (g_sequence_is_empty (cache->sequence)) {
                _tracker_notifier_event_cache_free (cache);
                return;
        }
 
-       if (priv->flags & TRACKER_NOTIFIER_FLAG_QUERY_URN) {
-               tracker_notifier_query_extra_info (notifier, cache);
-       } else {
-               tracker_notifier_emit_events_in_idle (cache);
-       }
+       tracker_notifier_query_extra_info (notifier, cache);
 }
 
 static void
@@ -500,9 +485,6 @@ tracker_notifier_set_property (GObject      *object,
        case PROP_CONNECTION:
                priv->connection = g_value_dup_object (value);
                break;
-       case PROP_FLAGS:
-               priv->flags = g_value_get_flags (value);
-               break;
        default:
                G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
                break;
@@ -522,9 +504,6 @@ tracker_notifier_get_property (GObject    *object,
        case PROP_CONNECTION:
                g_value_set_object (value, priv->connection);
                break;
-       case PROP_FLAGS:
-               g_value_set_flags (value, priv->flags);
-               break;
        default:
                G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
                break;
@@ -591,20 +570,6 @@ tracker_notifier_class_init (TrackerNotifierClass *klass)
                                     G_PARAM_READWRITE |
                                     G_PARAM_STATIC_STRINGS |
                                     G_PARAM_CONSTRUCT_ONLY);
-       /**
-        * TrackerNotifier:flags:
-        *
-        * Flags affecting #TrackerNotifier behavior.
-        */
-       pspecs[PROP_FLAGS] =
-               g_param_spec_flags ("flags",
-                                   "Flags",
-                                   "Flags",
-                                   TRACKER_TYPE_NOTIFIER_FLAGS,
-                                   TRACKER_NOTIFIER_FLAG_NONE,
-                                   G_PARAM_READWRITE |
-                                   G_PARAM_STATIC_STRINGS |
-                                   G_PARAM_CONSTRUCT_ONLY);
 
        g_object_class_install_properties (object_class, N_PROPS, pspecs);
 }
diff --git a/src/libtracker-sparql/tracker-notifier.h b/src/libtracker-sparql/tracker-notifier.h
index 28f452e93..e1d49c0ba 100644
--- a/src/libtracker-sparql/tracker-notifier.h
+++ b/src/libtracker-sparql/tracker-notifier.h
@@ -35,18 +35,6 @@ G_DECLARE_DERIVABLE_TYPE (TrackerNotifier, tracker_notifier, TRACKER, NOTIFIER,
 
 typedef struct _TrackerNotifierEvent TrackerNotifierEvent;
 
-/**
- * TrackerNotifierFlags:
- * @TRACKER_NOTIFIER_FLAG_NONE: No flags
- * @TRACKER_NOTIFIER_FLAG_QUERY_URN: Query URN of notified elements
- *
- * Flags affecting #TrackerNotifier behavior.
- */
-typedef enum {
-       TRACKER_NOTIFIER_FLAG_NONE               = 0,
-       TRACKER_NOTIFIER_FLAG_QUERY_URN          = 1 << 1,
-} TrackerNotifierFlags;
-
 /**
  * TrackerNotifierEventType:
  * @TRACKER_NOTIFIER_EVENT_CREATE: An element was created.
diff --git a/src/libtracker-sparql/tracker-private.h b/src/libtracker-sparql/tracker-private.h
index 3ac055746..66265c072 100644
--- a/src/libtracker-sparql/tracker-private.h
+++ b/src/libtracker-sparql/tracker-private.h
@@ -83,8 +83,7 @@ struct _TrackerSparqlConnectionClass
                                                       const gchar              *sparql,
                                                       GCancellable             *cancellable,
                                                       GError                  **error);
-       TrackerNotifier * (* create_notifier) (TrackerSparqlConnection *connection,
-                                              TrackerNotifierFlags     flags);
+       TrackerNotifier * (* create_notifier) (TrackerSparqlConnection *connection);
 
        void (* close) (TrackerSparqlConnection *connection);
         void (* close_async) (TrackerSparqlConnection *connection,
diff --git a/tests/functional-tests/notifier.py b/tests/functional-tests/notifier.py
index 5c52f795f..1a18c8bac 100644
--- a/tests/functional-tests/notifier.py
+++ b/tests/functional-tests/notifier.py
@@ -50,7 +50,7 @@ class TrackerNotifierTests():
         self.results_inserts = []
         self.results_updates = []
 
-        self.notifier = self.conn.create_notifier(Tracker.NotifierFlags.QUERY_URN)
+        self.notifier = self.conn.create_notifier()
         self.notifier.connect('events', self.__signal_received_cb)
 
     def __wait_for_signal(self):
diff --git a/utils/trackertestutils/storehelper.py b/utils/trackertestutils/storehelper.py
index 462db0667..7baffa2d8 100644
--- a/utils/trackertestutils/storehelper.py
+++ b/utils/trackertestutils/storehelper.py
@@ -87,7 +87,7 @@ class await_insert():
         self._check_inserted = _check_inserted
 
         self.loop = mainloop.MainLoop()
-        self.notifier = self.conn.create_notifier(Tracker.NotifierFlags.NONE)
+        self.notifier = self.conn.create_notifier()
 
         self.result = InsertedResource(None, 0)
 
@@ -183,7 +183,7 @@ class await_property_update():
         self.timeout = timeout
 
         self.loop = mainloop.MainLoop()
-        self.notifier = self.conn.create_notifier(Tracker.NotifierFlags.NONE)
+        self.notifier = self.conn.create_notifier()
         self.matched = False
 
     def __enter__(self):
@@ -262,7 +262,7 @@ class await_content_update():
         self.timeout = timeout
 
         self.loop = mainloop.MainLoop()
-        self.notifier = self.conn.create_notifier(Tracker.NotifierFlags.NONE)
+        self.notifier = self.conn.create_notifier()
         self.matched = False
 
         self.result = InsertedResource(None, 0)
@@ -355,7 +355,7 @@ class await_delete():
         self.timeout = timeout
 
         self.loop = mainloop.MainLoop()
-        self.notifier = self.conn.create_notifier(Tracker.NotifierFlags.NONE)
+        self.notifier = self.conn.create_notifier()
         self.matched = False
 
     def __enter__(self):


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