[tracker/wip/carlosg/sandboxed-notifiers: 1/10] libtracker-data: Pass TrackerDataManager onto vtab constructors




commit 13346ebf6469e89d1d374ee7b4168b1f389eba2d
Author: Carlos Garnacho <carlosg gnome org>
Date:   Sat Feb 20 15:30:23 2021 +0100

    libtracker-data: Pass TrackerDataManager onto vtab constructors
    
    We may want to access further things than the TrackerOntologies,
    let the vtabs access to the TrackerDataManager, so they can pick
    what they need.

 src/libtracker-data/tracker-data-manager.c        | 2 +-
 src/libtracker-data/tracker-db-interface-sqlite.c | 6 +++---
 src/libtracker-data/tracker-db-interface-sqlite.h | 2 +-
 src/libtracker-data/tracker-vtab-service.c        | 4 ++--
 src/libtracker-data/tracker-vtab-service.h        | 6 +++---
 src/libtracker-data/tracker-vtab-triples.c        | 7 +++++--
 src/libtracker-data/tracker-vtab-triples.h        | 6 +++---
 7 files changed, 18 insertions(+), 15 deletions(-)
---
diff --git a/src/libtracker-data/tracker-data-manager.c b/src/libtracker-data/tracker-data-manager.c
index d9c3d9ddf..541585eb9 100644
--- a/src/libtracker-data/tracker-data-manager.c
+++ b/src/libtracker-data/tracker-data-manager.c
@@ -3823,7 +3823,7 @@ tracker_data_manager_initable_init (GInitable     *initable,
                                                      manager->update_cache_size,
                                                      busy_callback, manager,
                                                      G_OBJECT (manager),
-                                                     manager->ontologies,
+                                                     manager,
                                                      &internal_error);
        if (!manager->db_manager) {
                g_propagate_error (error, internal_error);
diff --git a/src/libtracker-data/tracker-db-interface-sqlite.c 
b/src/libtracker-data/tracker-db-interface-sqlite.c
index ca058b510..38e423b25 100644
--- a/src/libtracker-data/tracker-db-interface-sqlite.c
+++ b/src/libtracker-data/tracker-db-interface-sqlite.c
@@ -3741,10 +3741,10 @@ tracker_db_interface_get_is_used (TrackerDBInterface *db_interface)
 
 gboolean
 tracker_db_interface_init_vtabs (TrackerDBInterface *db_interface,
-                                 TrackerOntologies  *ontologies)
+                                 gpointer            vtab_data)
 {
-       tracker_vtab_triples_init (db_interface->db, ontologies);
-       tracker_vtab_service_init (db_interface->db, ontologies);
+       tracker_vtab_triples_init (db_interface->db, vtab_data);
+       tracker_vtab_service_init (db_interface->db, vtab_data);
        return TRUE;
 }
 
diff --git a/src/libtracker-data/tracker-db-interface-sqlite.h 
b/src/libtracker-data/tracker-db-interface-sqlite.h
index 6a8ffb235..85edf9417 100644
--- a/src/libtracker-data/tracker-db-interface-sqlite.h
+++ b/src/libtracker-data/tracker-db-interface-sqlite.h
@@ -59,7 +59,7 @@ gboolean            tracker_db_interface_sqlite_wal_checkpoint         (TrackerD
                                                                         gboolean                  blocking,
                                                                         GError                  **error);
 gboolean            tracker_db_interface_init_vtabs                    (TrackerDBInterface       *interface,
-                                                                        TrackerOntologies        
*ontologies);
+                                                                        gpointer                  vtab_data);
 
 void                tracker_db_interface_sqlite_fts_delete_table       (TrackerDBInterface       *interface,
                                                                         const gchar              *database);
diff --git a/src/libtracker-data/tracker-vtab-service.c b/src/libtracker-data/tracker-vtab-service.c
index 628ecada1..3e44a67c5 100644
--- a/src/libtracker-data/tracker-vtab-service.c
+++ b/src/libtracker-data/tracker-vtab-service.c
@@ -566,8 +566,8 @@ service_rowid (sqlite3_vtab_cursor *vtab_cursor,
 }
 
 void
-tracker_vtab_service_init (sqlite3           *db,
-                          TrackerOntologies *ontologies)
+tracker_vtab_service_init (sqlite3            *db,
+                           TrackerDataManager *data_manager)
 {
        TrackerServiceModule *module;
        static const sqlite3_module service_module = {
diff --git a/src/libtracker-data/tracker-vtab-service.h b/src/libtracker-data/tracker-vtab-service.h
index 9b85f29c7..46c407241 100644
--- a/src/libtracker-data/tracker-vtab-service.h
+++ b/src/libtracker-data/tracker-vtab-service.h
@@ -19,12 +19,12 @@
  * Author: Carlos Garnacho <carlosg gnome org>
  */
 #include <sqlite3.h>
-#include "tracker-ontologies.h"
+#include "tracker-data-manager.h"
 
 #ifndef __TRACKER_VTAB_SERVICE_H__
 #define __TRACKER_VTAB_SERVICE_H__
 
-void tracker_vtab_service_init (sqlite3           *db,
-                               TrackerOntologies *ontologies);
+void tracker_vtab_service_init (sqlite3            *db,
+                                TrackerDataManager *data_manager);
 
 #endif /* __TRACKER_VTAB_SERVICE_H__ */
diff --git a/src/libtracker-data/tracker-vtab-triples.c b/src/libtracker-data/tracker-vtab-triples.c
index 101af4d8e..a81709cd0 100644
--- a/src/libtracker-data/tracker-vtab-triples.c
+++ b/src/libtracker-data/tracker-vtab-triples.c
@@ -20,6 +20,7 @@
  */
 #include "config.h"
 
+#include "tracker-ontologies.h"
 #include "tracker-vtab-triples.h"
 
 /* Define some constraints for older SQLite, we will never get
@@ -594,10 +595,11 @@ triples_rowid (sqlite3_vtab_cursor *vtab_cursor,
 }
 
 void
-tracker_vtab_triples_init (sqlite3           *db,
-                           TrackerOntologies *ontologies)
+tracker_vtab_triples_init (sqlite3            *db,
+                           TrackerDataManager *data_manager)
 {
        TrackerTriplesModule *module;
+       TrackerOntologies *ontologies;
        static const sqlite3_module triples_module = {
                2, /* version */
                NULL, /* create(), null because this is an eponymous-only table */
@@ -626,6 +628,7 @@ tracker_vtab_triples_init (sqlite3           *db,
 
        module = g_new0 (TrackerTriplesModule, 1);
        module->db = db;
+       ontologies = tracker_data_manager_get_ontologies (data_manager);
        g_set_object (&module->ontologies, ontologies);
        sqlite3_create_module_v2 (db, "tracker_triples", &triples_module,
                                  module, tracker_triples_module_free);
diff --git a/src/libtracker-data/tracker-vtab-triples.h b/src/libtracker-data/tracker-vtab-triples.h
index 7ca124da9..09e176f08 100644
--- a/src/libtracker-data/tracker-vtab-triples.h
+++ b/src/libtracker-data/tracker-vtab-triples.h
@@ -19,12 +19,12 @@
  * Author: Carlos Garnacho <carlosg gnome org>
  */
 #include <sqlite3.h>
-#include "tracker-ontologies.h"
+#include "tracker-data-manager.h"
 
 #ifndef __TRACKER_VTAB_TRIPLES_H__
 #define __TRACKER_VTAB_TRIPLES_H__
 
-void tracker_vtab_triples_init (sqlite3           *db,
-                                TrackerOntologies *ontologies);
+void tracker_vtab_triples_init (sqlite3            *db,
+                                TrackerDataManager *data_manager);
 
 #endif /* __TRACKER_VTAB_TRIPLES_H__ */


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]