diff options
author | Carlos Garnacho <carlosg@gnome.org> | 2021-04-04 13:23:55 +0200 |
---|---|---|
committer | Carlos Garnacho <carlosg@gnome.org> | 2021-04-07 11:24:13 +0200 |
commit | 9aad47646d6365f4541d31c03524c92ee2c46491 (patch) | |
tree | 3fd9a345632bdcd21746aa854e6fa36b17c74db6 | |
parent | 8ae513e9c1025cacad488782feba5b4d2f5d443d (diff) | |
download | tracker-wip/carlosg/bus-connection-methods.tar.gz |
libtracker-sparql: Implement update_resource(_async) in bus connectionswip/carlosg/bus-connection-methods
Use batches underneath, holding the single operation.
-rw-r--r-- | src/libtracker-sparql/bus/tracker-bus.vala | 12 | ||||
-rw-r--r-- | 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 a31b2df10..f61c6226f 100644 --- a/src/libtracker-sparql/bus/tracker-bus.vala +++ b/src/libtracker-sparql/bus/tracker-bus.vala @@ -342,6 +342,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 cb02da3d8..389965873 100644 --- a/src/libtracker-sparql/tracker-sparql.vapi +++ b/src/libtracker-sparql/tracker-sparql.vapi @@ -84,8 +84,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 (); |