[tracker/wip/carlosg/bus-connection-methods: 4/4] libtracker-sparql: Implement update_resource(_async) in bus connections




commit 53e92494b1cfe5e8b8227533775ac0b312fa4f60
Author: Carlos Garnacho <carlosg gnome org>
Date:   Sun Apr 4 13:23:55 2021 +0200

    libtracker-sparql: Implement update_resource(_async) in bus connections
    
    Use batches underneath, holding the single operation.

 src/libtracker-sparql/bus/tracker-bus.vala | 12 ++++++++++++
 src/libtracker-sparql/tracker-sparql.vapi  |  4 ++--
 2 files changed, 14 insertions(+), 2 deletions(-)
---
diff --git a/src/libtracker-sparql/bus/tracker-bus.vala b/src/libtracker-sparql/bus/tracker-bus.vala
index 65ce9cff5..f708b3a76 100644
--- a/src/libtracker-sparql/bus/tracker-bus.vala
+++ b/src/libtracker-sparql/bus/tracker-bus.vala
@@ -339,6 +339,18 @@ public class Tracker.Bus.Connection : Tracker.Sparql.Connection {
                return reply.get_body ().get_child_value (0);
        }
 
+       public override bool update_resource (string? graph, Resource resource, GLib.Cancellable? cancellable 
= null) throws Sparql.Error, GLib.Error, GLib.IOError, GLib.DBusError {
+               var batch = this.create_batch ();
+               batch.add_resource (graph, resource);
+               return batch.execute (cancellable);
+       }
+
+       public async override bool update_resource_async (string? graph, Resource resource, GLib.Cancellable? 
cancellable = null) throws Sparql.Error, GLib.Error, GLib.IOError, GLib.DBusError {
+               var batch = this.create_batch ();
+               batch.add_resource (graph, resource);
+               return yield batch.execute_async (cancellable);
+       }
+
        public override Tracker.Notifier? create_notifier () {
                var notifier = (Tracker.Notifier) Object.new (typeof (Tracker.Notifier),
                                                              "connection", this,
diff --git a/src/libtracker-sparql/tracker-sparql.vapi b/src/libtracker-sparql/tracker-sparql.vapi
index 24835d549..8cac8ebdb 100644
--- a/src/libtracker-sparql/tracker-sparql.vapi
+++ b/src/libtracker-sparql/tracker-sparql.vapi
@@ -82,8 +82,8 @@ namespace Tracker {
                public async virtual bool update_array_async (string[] sparql, GLib.Cancellable? cancellable 
= null) throws Sparql.Error, GLib.Error, GLib.IOError, GLib.DBusError;
                public virtual GLib.Variant? update_blank (string sparql, GLib.Cancellable? cancellable = 
null) throws Sparql.Error, GLib.Error, GLib.IOError, GLib.DBusError;
                public async virtual GLib.Variant? update_blank_async (string sparql, GLib.Cancellable? 
cancellable = null) throws Sparql.Error, GLib.Error, GLib.IOError, GLib.DBusError;
-               public virtual void update_resource (string? graph, Resource resource, GLib.Cancellable? 
cancellable = null) throws Sparql.Error, GLib.Error, GLib.IOError, GLib.DBusError;
-               public async virtual void update_resource_async (string? graph, Resource resource, 
GLib.Cancellable? cancellable = null) throws Sparql.Error, GLib.Error, GLib.IOError, GLib.DBusError;
+               public virtual bool update_resource (string? graph, Resource resource, GLib.Cancellable? 
cancellable = null) throws Sparql.Error, GLib.Error, GLib.IOError, GLib.DBusError;
+               public async virtual bool update_resource_async (string? graph, Resource resource, 
GLib.Cancellable? cancellable = null) throws Sparql.Error, GLib.Error, GLib.IOError, GLib.DBusError;
 
                public virtual NamespaceManager? get_namespace_manager ();
 


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