summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos Garnacho <carlosg@gnome.org>2023-01-11 18:31:08 +0000
committerCarlos Garnacho <carlosg@gnome.org>2023-01-11 18:31:08 +0000
commit651f6aef7689d304d218b6ba5bb57386b53a4d0c (patch)
tree1e743a5bcbc145fdee2ebe4b6a6a62f150c9adb8
parent775381a33db65deafcb3045dbb8c0394c5803f76 (diff)
parent236bc958f0e01428dc132ffd908f5c3a6047326b (diff)
downloadtracker-651f6aef7689d304d218b6ba5bb57386b53a4d0c.tar.gz
Merge branch 'tracker-automated-vapi' into 'master'
build: Auto-generate VAPI See merge request https://gitlab.gnome.org/GNOME/tracker/-/merge_requests/566
-rw-r--r--meson.build6
-rw-r--r--meson_options.txt2
-rw-r--r--src/libtracker-sparql/Tracker-3.0.metadata14
-rw-r--r--src/libtracker-sparql/meson.build29
-rw-r--r--src/libtracker-sparql/tracker-sparql.deps1
-rw-r--r--src/libtracker-sparql/tracker-sparql.vapi283
6 files changed, 32 insertions, 303 deletions
diff --git a/meson.build b/meson.build
index 67ddb0901..1e0f7dd43 100644
--- a/meson.build
+++ b/meson.build
@@ -100,6 +100,10 @@ if get_option('tests')
endif
python = import('python').find_installation('python3', modules: py_modules)
+if get_option('vapi').enabled() and get_option('introspection').disabled()
+ error('Vala binding generation requires the \'introspection\' to be enabled')
+endif
+
cc_warning_flags = [
'-Wformat',
'-Wformat-security',
@@ -340,8 +344,6 @@ tracker_internal_libs_dir = join_paths(get_option('prefix'), get_option('libdir'
# the ontology is installed to the same location.
tracker_ontologies_dir = join_paths(get_option('prefix'), get_option('datadir'), tracker_versioned_name, 'ontologies')
-vapi_dir = join_paths(get_option('prefix'), get_option('datadir'), 'vala', 'vapi')
-
if gobject_introspection.found()
typelib_dir = gobject_introspection.get_variable(pkgconfig: 'typelibdir',
pkgconfig_define: [ 'libdir', libdir ])
diff --git a/meson_options.txt b/meson_options.txt
index 0b5d51759..1ee54218c 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -30,6 +30,8 @@ option('tests_tap_protocol', type: 'boolean', value: false,
description: 'Whether to enable TAP protocol on tests')
option('introspection', type: 'feature', value: 'enabled',
description: 'Whether to enable introspection')
+option('vapi', type: 'feature', value: 'enabled',
+ description: 'Whether to enable Vala binding generation')
option('soup', type: 'array', value: ['auto'],
choices: ['auto', 'soup2', 'soup3'],
diff --git a/src/libtracker-sparql/Tracker-3.0.metadata b/src/libtracker-sparql/Tracker-3.0.metadata
new file mode 100644
index 000000000..09cea80a0
--- /dev/null
+++ b/src/libtracker-sparql/Tracker-3.0.metadata
@@ -0,0 +1,14 @@
+*.*.cancellable default=null
+Sparql* name="Sparql(.*)" parent="Tracker.Sparql"
+SparqlConnection.new symbol_type="function"
+SparqlConnection.new_async symbol_type="function"
+SparqlConnection.new_finish symbol_type="function"
+SparqlConnection.bus_new symbol_type="function"
+SparqlConnection.remote_new symbol_type="function"
+SparqlConnection.bus_new_async symbol_type="function"
+SparqlConnection.bus_new_finish symbol_type="function"
+DeserializeFlags.deserialize_flags_none name="NONE"
+SerializeFlags.serialize_flags_none name="NONE"
+PREFIX_* name="PREFIX_(.*)" parent="Tracker.Prefix"
+sparql_escape_uri_printf skip=false
+sparql_escape_uri_vprintf skip=false
diff --git a/src/libtracker-sparql/meson.build b/src/libtracker-sparql/meson.build
index 5ea2079e4..157ebccd2 100644
--- a/src/libtracker-sparql/meson.build
+++ b/src/libtracker-sparql/meson.build
@@ -18,8 +18,6 @@ enum_types = gnome.mkenums('tracker-sparql-enum-types',
install_header: true,
)
-tracker_sparql_vapi = files('tracker-sparql.vapi')
-
libtracker_sparql_sources = files(
'tracker-batch.c',
'tracker-connection.c',
@@ -77,18 +75,6 @@ install_headers(
version_header,
subdir: 'tracker-@0@/libtracker-sparql'.format(tracker_api_version))
-install_data(
- tracker_sparql_vapi,
- rename: ['tracker-sparql-' + tracker_api_version + '.vapi'],
- install_dir: vapi_dir,
-)
-
-install_data(
- 'tracker-sparql.deps',
- rename: ['tracker-sparql-' + tracker_api_version + '.deps'],
- install_dir: vapi_dir,
-)
-
libtracker_sparql_dependencies = [
tracker_common_dep,
gmodule,
@@ -190,14 +176,23 @@ if get_option('introspection').enabled()
identifier_prefix: 'Tracker',
symbol_prefix: 'tracker',
includes : ['GLib-2.0', 'GObject-2.0', 'Gio-2.0' ],
+ header: 'libtracker-sparql/tracker-sparql.h',
link_with: libtracker_sparql,
install: true,
extra_args: [
- '--c-include',
- 'libtracker-sparql/tracker-sparql.h',
'-DTRACKER_COMPILATION',
],
- export_packages: 'tracker-sparql-3.0')
+ export_packages: 'tracker-sparql-' + tracker_api_version
+ )
+
+ if get_option('vapi').enabled() or get_option('vapi').auto()
+ tracker_sparql_vapi = gnome.generate_vapi('tracker-sparql-' + tracker_api_version,
+ sources: tracker_sparql_gir[0],
+ install: true,
+ packages: ['glib-2.0', 'gio-2.0', 'gobject-2.0'],
+ metadata_dirs: meson.current_source_dir(),
+ )
+ endif
endif
tracker_sparql_uninstalled_dir = meson.current_build_dir()
diff --git a/src/libtracker-sparql/tracker-sparql.deps b/src/libtracker-sparql/tracker-sparql.deps
deleted file mode 100644
index cd10dfde4..000000000
--- a/src/libtracker-sparql/tracker-sparql.deps
+++ /dev/null
@@ -1 +0,0 @@
-gio-2.0
diff --git a/src/libtracker-sparql/tracker-sparql.vapi b/src/libtracker-sparql/tracker-sparql.vapi
deleted file mode 100644
index ab4f7e523..000000000
--- a/src/libtracker-sparql/tracker-sparql.vapi
+++ /dev/null
@@ -1,283 +0,0 @@
-/*
- * Copyright (C) 2017 - Red Hat Inc
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-namespace Tracker {
- [CCode (cheader_filename = "libtracker-sparql/tracker-sparql.h")]
- public errordomain Sparql.Error {
- PARSE,
- UNKNOWN_CLASS,
- UNKNOWN_PROPERTY,
- TYPE,
- CONSTRAINT,
- NO_SPACE,
- INTERNAL,
- UNSUPPORTED,
- UNKNOWN_GRAPH
- }
-
- [CCode (cheader_filename = "libtracker-sparql/tracker-sparql.h")]
- public enum Sparql.ConnectionFlags {
- NONE = 0,
- READONLY = 1 << 0,
- FTS_ENABLE_STEMMER = 1 << 1,
- FTS_ENABLE_UNACCENT = 1 << 2,
- FTS_ENABLE_STOP_WORDS = 1 << 3,
- FTS_IGNORE_NUMBERS = 1 << 4,
- }
-
- [CCode (cheader_filename = "libtracker-sparql/tracker-sparql.h")]
- public enum Sparql.ValueType {
- UNBOUND,
- URI,
- STRING,
- INTEGER,
- DOUBLE,
- DATETIME,
- BLANK_NODE,
- BOOLEAN
- }
-
- [CCode (cheader_filename = "libtracker-sparql/tracker-connection.h")]
- public enum RdfFormat {
- TURTLE,
- TRIG,
- }
-
- [CCode (cheader_filename = "libtracker-sparql/tracker-connection.h")]
- public enum SerializeFlags {
- NONE = 0,
- }
-
- [CCode (cheader_filename = "libtracker-sparql/tracker-connection.h")]
- public enum DeserializeFlags {
- NONE = 0,
- }
-
- namespace Sparql {
- [CCode (cheader_filename = "libtracker-sparql/tracker-sparql.h")]
- public static string escape_string (string literal);
- [CCode (cheader_filename = "libtracker-sparql/tracker-sparql.h")]
- public static string escape_uri (string uri);
- [CCode (cheader_filename = "libtracker-sparql/tracker-sparql.h")]
- public static string escape_uri_printf (string format, ...);
- [CCode (cheader_filename = "libtracker-sparql/tracker-sparql.h")]
- public static string escape_uri_vprintf (string format, va_list args);
- [CCode (cheader_filename = "libtracker-sparql/tracker-sparql.h")]
- public static string get_uuid_urn ();
- [CCode (cheader_filename = "libtracker-sparql/tracker-sparql.h")]
- public static GLib.File get_ontology_nepomuk ();
- }
-
- [CCode (cheader_filename = "libtracker-sparql/tracker-sparql.h")]
- public abstract class Sparql.Connection : GLib.Object {
- public extern static new Connection remote_new (string uri_base);
- public extern static new Connection new (Sparql.ConnectionFlags flags, GLib.File? store, GLib.File? ontology, GLib.Cancellable? cancellable = null) throws Sparql.Error, GLib.IOError;
- public extern async static new Connection new_async (Sparql.ConnectionFlags flags, GLib.File? store, GLib.File? ontology, GLib.Cancellable? cancellable = null) throws Sparql.Error, GLib.IOError;
- public extern static new Connection bus_new (string service_name, string? object_path, GLib.DBusConnection? dbus_connection = null) throws Sparql.Error, GLib.IOError, GLib.DBusError, GLib.Error;
- public extern async static new Connection bus_new_async (string service_name, string? object_path, GLib.DBusConnection? dbus_connection = null, GLib.Cancellable? cancellable = null) throws Sparql.Error, GLib.IOError, GLib.DBusError, GLib.Error;
-
- public abstract Cursor query (string sparql, GLib.Cancellable? cancellable = null) throws Sparql.Error, GLib.Error, GLib.IOError, GLib.DBusError;
- public async abstract Cursor query_async (string sparql, GLib.Cancellable? cancellable = null) throws Sparql.Error, GLib.Error, GLib.IOError, GLib.DBusError;
-
- public virtual void update (string sparql, GLib.Cancellable? cancellable = null) throws Sparql.Error, GLib.Error, GLib.IOError, GLib.DBusError;
- public async virtual void update_async (string sparql, GLib.Cancellable? cancellable = null) throws Sparql.Error, GLib.Error, GLib.IOError, GLib.DBusError;
- 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 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 ();
-
- public extern static void set_domain (string? domain);
- public extern static string? get_domain ();
-
- public extern static void set_dbus_connection (GLib.DBusConnection dbus_connection);
- public extern static GLib.DBusConnection? get_dbus_connection ();
-
- public virtual Statement? query_statement (string sparql, GLib.Cancellable? cancellable = null) throws Sparql.Error;
- public virtual Statement? update_statement (string sparql, GLib.Cancellable? cancellable = null) throws Sparql.Error;
- public virtual Batch? create_batch ();
-
- public virtual Notifier? create_notifier ();
- public virtual void close ();
- public async virtual bool close_async () throws GLib.IOError;
-
- public async virtual GLib.InputStream serialize_async (SerializeFlags flags, RdfFormat format, string sparql, GLib.Cancellable? cancellable = null) throws Sparql.Error, GLib.Error, GLib.IOError, GLib.DBusError;
- public async virtual bool deserialize_async (DeserializeFlags flags, RdfFormat format, string? default_graph, GLib.InputStream istream, GLib.Cancellable? cancellable = null) throws Sparql.Error, GLib.Error, GLib.IOError, GLib.DBusError;
- public virtual void map_connection (string handle_name, Sparql.Connection service_connection);
- }
-
- [CCode (cheader_filename = "libtracker-sparql/tracker-sparql.h")]
- public abstract class Sparql.Statement : GLib.Object {
- public string sparql { get; construct set; }
- public Connection connection { get; construct set; }
-
- public abstract void bind_int (string name, int64 value);
- public abstract void bind_boolean (string name, bool value);
- public abstract void bind_string (string name, string value);
- public abstract void bind_double (string name, double value);
- public abstract void bind_datetime (string name, GLib.DateTime value);
- public abstract void clear_bindings ();
-
- public abstract Cursor execute (GLib.Cancellable? cancellable) throws Sparql.Error, GLib.Error, GLib.IOError, GLib.DBusError;
- public async abstract Cursor execute_async (GLib.Cancellable? cancellable) throws Sparql.Error, GLib.Error, GLib.IOError, GLib.DBusError;
- public async abstract GLib.InputStream serialize_async (SerializeFlags flags, RdfFormat format, GLib.Cancellable? cancellable) throws Sparql.Error, GLib.Error, GLib.IOError, GLib.DBusError;
-
- public abstract bool update (GLib.Cancellable? cancellable) throws Sparql.Error, GLib.Error, GLib.IOError, GLib.DBusError;
- public async abstract bool update_async (GLib.Cancellable? cancellable) throws Sparql.Error, GLib.Error, GLib.IOError, GLib.DBusError;
- }
-
- [CCode (cheader_filename = "libtracker-sparql/tracker-sparql.h")]
- public abstract class Sparql.Cursor : GLib.Object {
- public Connection connection {
- get;
- set;
- }
-
- public abstract int n_columns {
- get;
- }
-
- public abstract Sparql.ValueType get_value_type (int column);
-
- public abstract unowned string? get_variable_name (int column);
- public abstract unowned string? get_string (int column, out long length = null);
-
- public abstract bool next (GLib.Cancellable? cancellable = null) throws GLib.Error;
- public async abstract bool next_async (GLib.Cancellable? cancellable = null) throws GLib.Error;
- public abstract void rewind ();
- public virtual void close ();
-
- public virtual int64 get_integer (int column);
- public virtual double get_double (int column);
- public virtual bool get_boolean (int column);
- public virtual GLib.DateTime get_datetime (int column);
- public virtual bool is_bound (int column);
- }
-
- [CCode (cheader_filename = "libtracker-sparql/tracker-sparql.h")]
- public class NamespaceManager : GLib.Object {
- public NamespaceManager ();
- public void add_prefix (string prefix, string namespace);
- public bool has_prefix (string prefix);
- public string? lookup_prefix (string prefix);
- public string expand_uri (string compact_uri);
-
- public static NamespaceManager get_default ();
- }
-
- [CCode (cheader_filename = "libtracker-sparql/tracker-sparql.h")]
- public class Resource : GLib.Object {
- public Resource (string? identifier);
-
- public void set_value (string predicate, GLib.Value value);
- public void set_boolean (string predicate, bool object);
- public void set_double (string predicate, double object);
- public void set_int (string predicate, int object);
- public void set_int64 (string predicate, int64 object);
- public void set_relation (string predicate, Resource object);
- public void set_string (string predicate, string object);
- public void set_uri (string predicate, string object);
-
- public void add_value (string predicate, GLib.Value value);
- public void add_boolean (string predicate, bool object);
- public void add_double (string predicate, double object);
- public void add_int (string predicate, int object);
- public void add_int64 (string predicate, int64 object);
- public void add_relation (string predicate, Resource object);
- public void add_string (string predicate, string object);
- public void add_uri (string predicate, string object);
-
- public GLib.List<GLib.Value?> get_values (string predicate);
-
- public bool get_first_boolean (string predicate);
- public double get_first_double (string predicate);
- public int get_first_int (string predicate);
- public int64 get_first_int64 (string predicate);
- public unowned Resource get_first_relation (string predicate);
- public string get_first_string (string predicate);
- public string get_first_uri (string predicate);
-
- public string get_identifier ();
- public void set_identifier (string identifier);
-
- public int identifier_compare_func (string identifier);
-
- public string print_turtle (NamespaceManager? namespaces);
- public string print_sparql_update (NamespaceManager? namespaces, string? graph_id);
- public string print_jsonld (NamespaceManager? namespaces);
- }
-
- [CCode (cprefix = "TRACKER_NOTIFIER_FLAG_", cheader_filename = "libtracker-sparql/tracker-sparql.h")]
- public enum NotifierFlags {
- QUERY_URN,
- QUERY_LOCATION,
- NOTIFY_UNEXTRACTED
- }
-
- public enum NotifierEventType {
- QUERY_URN,
- QUERY_LOCATION,
- NOTIFY_UNEXTRACTED
- }
-
- [CCode (cheader_filename = "libtracker-sparql/tracker-sparql.h")]
- public class Notifier : GLib.Object {
- public class NotifierEvent {
- public enum Type {
- CREATE,
- DELETE,
- UPDATE
- }
-
- public int64 get_id ();
- public string get_type ();
- public string get_urn ();
- public string get_location ();
- }
-
- public Sparql.Connection connection { get; construct set; }
- public signal void events (string service, string graph, GLib.GenericArray<NotifierEvent> events);
- public uint signal_subscribe (GLib.DBusConnection dbus_conn, string dbus_name, string? object_path, string? graph);
- public void signal_unsubscribe (uint handler_id);
- }
-
- [CCode (cheader_filename = "libtracker-sparql/tracker-sparql.h")]
- public abstract class Batch : GLib.Object {
- public Sparql.Connection connection { get; construct set; }
-
- public abstract void add_sparql (string sparql);
- public abstract void add_resource (string? graph, Resource resource);
- [CCode (cname = "tracker_batch_add_statementv")]
- public abstract void add_statement (Sparql.Statement stmt, [CCode (array_length_cname = "n_values", array_length_pos = 1.5, array_length_type = "guint")] string[] parameters, [CCode (array_length_cname = "n_values", array_length_pos = 1.5, array_length_type = "guint")] GLib.Value[] values);
- public abstract bool execute (GLib.Cancellable? cancellable) throws Sparql.Error, GLib.Error, GLib.IOError, GLib.DBusError;
- public async abstract bool execute_async (GLib.Cancellable? cancellable) throws Sparql.Error, GLib.Error, GLib.IOError, GLib.DBusError;
- }
-
- [CCode (cheader_filename = "libtracker-sparql/tracker-sparql.h")]
- public class Endpoint : GLib.Object {
- Sparql.Connection get_sparql_connection ();
- }
-
- [CCode (cheader_filename = "libtracker-sparql/tracker-sparql.h")]
- public class EndpointDBus : GLib.Object, GLib.Initable {
- public EndpointDBus (Sparql.Connection sparql_conn, GLib.DBusConnection? dbus_conn, string object_path, GLib.Cancellable? cancellable) throws GLib.Error;
- }
-}