diff options
author | Carlos Garnacho <carlosg@gnome.org> | 2022-12-03 23:03:17 +0100 |
---|---|---|
committer | Carlos Garnacho <carlosg@gnome.org> | 2022-12-24 01:14:41 +0100 |
commit | 0ae0c7b5b2a01df58b6b4d5a3e6c8319a1838eaf (patch) | |
tree | c0eb0b6dbbe3bd594ad61e8756c643bbbfc72200 /src | |
parent | cb4a150235fe2192301b3c481f3062ad6e6bdd7a (diff) | |
download | tracker-0ae0c7b5b2a01df58b6b4d5a3e6c8319a1838eaf.tar.gz |
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.
Diffstat (limited to 'src')
-rw-r--r-- | src/libtracker-sparql/tracker-private.h | 20 |
1 files changed, 20 insertions, 0 deletions
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); |