From cb3ef04c5c7389fafbc0625c4aa89530b21f5add Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Sun, 19 Nov 2017 20:59:31 +0100 Subject: libtracker-direct: Add internal function to set additional DBManager flags This will be useful for tracker-store, and the flags that make sense there don't make as much sense to add to the public TrackerSparqlConnectionFlags set. --- src/libtracker-direct/tracker-direct.c | 10 +++++++++- src/libtracker-direct/tracker-direct.h | 2 ++ src/libtracker-direct/tracker-direct.vapi | 1 + 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/libtracker-direct/tracker-direct.c b/src/libtracker-direct/tracker-direct.c index c32b94f2d..8923b8da3 100644 --- a/src/libtracker-direct/tracker-direct.c +++ b/src/libtracker-direct/tracker-direct.c @@ -23,6 +23,8 @@ #include "tracker-direct.h" #include +static TrackerDBManagerFlags default_flags = 0; + typedef struct _TrackerDirectConnectionPrivate TrackerDirectConnectionPrivate; struct _TrackerDirectConnectionPrivate @@ -274,7 +276,7 @@ tracker_direct_connection_initable_init (GInitable *initable, if (priv->flags & TRACKER_SPARQL_CONNECTION_FLAGS_READONLY) db_flags |= TRACKER_DB_MANAGER_READONLY; - priv->data_manager = tracker_data_manager_new (db_flags, priv->store, + priv->data_manager = tracker_data_manager_new (db_flags | default_flags, priv->store, priv->journal, priv->ontology, FALSE, FALSE, 100, 100); if (!g_initable_init (G_INITABLE (priv->data_manager), cancellable, error)) @@ -837,3 +839,9 @@ tracker_direct_connection_get_data_manager (TrackerDirectConnection *conn) priv = tracker_direct_connection_get_instance_private (conn); return priv->data_manager; } + +void +tracker_direct_connection_set_default_flags (TrackerDBManagerFlags flags) +{ + default_flags = flags; +} diff --git a/src/libtracker-direct/tracker-direct.h b/src/libtracker-direct/tracker-direct.h index 13da42243..b8c1392b8 100644 --- a/src/libtracker-direct/tracker-direct.h +++ b/src/libtracker-direct/tracker-direct.h @@ -52,4 +52,6 @@ TrackerDirectConnection *tracker_direct_connection_new (TrackerSparqlConnectionF TrackerDataManager *tracker_direct_connection_get_data_manager (TrackerDirectConnection *conn); +void tracker_direct_connection_set_default_flags (TrackerDBManagerFlags flags); + #endif /* __TRACKER_LOCAL_CONNECTION_H__ */ diff --git a/src/libtracker-direct/tracker-direct.vapi b/src/libtracker-direct/tracker-direct.vapi index d1678f353..79b293a5d 100644 --- a/src/libtracker-direct/tracker-direct.vapi +++ b/src/libtracker-direct/tracker-direct.vapi @@ -5,6 +5,7 @@ namespace Tracker { public class Connection : Tracker.Sparql.Connection, GLib.Initable, GLib.AsyncInitable { public Connection (Tracker.Sparql.ConnectionFlags connection_flags, GLib.File loc, GLib.File? journal, GLib.File? ontology) throws Tracker.Sparql.Error, GLib.IOError, GLib.DBusError; public Tracker.Data.Manager get_data_manager (); + public static void set_default_flags (Tracker.DBManagerFlags flags); } } } -- cgit v1.2.1