summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos Garnacho <carlosg@gnome.org>2017-11-19 20:59:31 +0100
committerCarlos Garnacho <carlosg@gnome.org>2018-07-20 18:27:32 +0200
commitcb3ef04c5c7389fafbc0625c4aa89530b21f5add (patch)
tree9ee90a4930066f3917c7ccece6a91382996dd0e0
parented8e9870466591b14a18e4e1e189afbd4ba91ccd (diff)
downloadtracker-cb3ef04c5c7389fafbc0625c4aa89530b21f5add.tar.gz
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.
-rw-r--r--src/libtracker-direct/tracker-direct.c10
-rw-r--r--src/libtracker-direct/tracker-direct.h2
-rw-r--r--src/libtracker-direct/tracker-direct.vapi1
3 files changed, 12 insertions, 1 deletions
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 <libtracker-data/tracker-data.h>
+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);
}
}
}