From 0ae0c7b5b2a01df58b6b4d5a3e6c8319a1838eaf Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Sat, 3 Dec 2022 23:03:17 +0100 Subject: libtracker-sparql: Add private class vmethods for update statements We want to make TrackerSparqlStatement usable for updates, add the vmethods that will internally do the work. Besides creation and execution of individual update statements, also add a TrackerBatch vmethod so that a statement (plus a series of bound parameters) can be attached to them. --- src/libtracker-sparql/tracker-private.h | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'src') diff --git a/src/libtracker-sparql/tracker-private.h b/src/libtracker-sparql/tracker-private.h index d6263621b..3aa303b34 100644 --- a/src/libtracker-sparql/tracker-private.h +++ b/src/libtracker-sparql/tracker-private.h @@ -80,6 +80,10 @@ struct _TrackerSparqlConnectionClass const gchar *sparql, GCancellable *cancellable, GError **error); + TrackerSparqlStatement * (* update_statement) (TrackerSparqlConnection *connection, + const gchar *sparql, + GCancellable *cancellable, + GError **error); TrackerNotifier * (* create_notifier) (TrackerSparqlConnection *connection); void (* close) (TrackerSparqlConnection *connection); @@ -259,6 +263,17 @@ struct _TrackerSparqlStatementClass GInputStream * (* serialize_finish) (TrackerSparqlStatement *stmt, GAsyncResult *res, GError **error); + + gboolean (* update) (TrackerSparqlStatement *stmt, + GCancellable *cancellable, + GError **error); + void (* update_async) (TrackerSparqlStatement *stmt, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + gboolean (* update_finish) (TrackerSparqlStatement *stmt, + GAsyncResult *res, + GError **error); }; struct _TrackerNotifierClass { @@ -276,6 +291,11 @@ struct _TrackerBatchClass { void (* add_resource) (TrackerBatch *batch, const gchar *graph, TrackerResource *resource); + void (* add_statement) (TrackerBatch *batch, + TrackerSparqlStatement *stmt, + guint n_values, + const gchar *variable_names[], + const GValue values[]); gboolean (* execute) (TrackerBatch *batch, GCancellable *cancellable, GError **error); -- cgit v1.2.1