[tracker/wip/carlosg/local-connection-mapping: 1/2] libtracker-data: Add private API to map local connections




commit a5e4abf4041f95ee2d6aeef73d515f8309c6daee
Author: Carlos Garnacho <carlosg gnome org>
Date:   Sat Apr 3 15:43:16 2021 +0200

    libtracker-data: Add private API to map local connections
    
    These will be available via special local:$handle_name URIs.

 src/libtracker-data/tracker-data-manager.c | 15 +++++++++++++++
 src/libtracker-data/tracker-data-manager.h |  3 +++
 2 files changed, 18 insertions(+)
---
diff --git a/src/libtracker-data/tracker-data-manager.c b/src/libtracker-data/tracker-data-manager.c
index 2be94685d..289c18ef4 100644
--- a/src/libtracker-data/tracker-data-manager.c
+++ b/src/libtracker-data/tracker-data-manager.c
@@ -5087,3 +5087,18 @@ fail:
 
        return connection;
 }
+
+void
+tracker_data_manager_map_local_connection (TrackerDataManager      *data_manager,
+                                           const gchar             *handle_name,
+                                           TrackerSparqlConnection *connection)
+{
+       gchar *uri;
+
+       uri = g_strdup_printf ("local:%s", handle_name);
+
+       g_mutex_lock (&data_manager->connections_lock);
+       g_hash_table_insert (data_manager->cached_connections,
+                            uri, connection);
+       g_mutex_unlock (&data_manager->connections_lock);
+}
diff --git a/src/libtracker-data/tracker-data-manager.h b/src/libtracker-data/tracker-data-manager.h
index 388b72f08..52e71416b 100644
--- a/src/libtracker-data/tracker-data-manager.h
+++ b/src/libtracker-data/tracker-data-manager.h
@@ -115,6 +115,9 @@ gboolean             tracker_data_manager_expand_prefix (TrackerDataManager  *ma
 TrackerSparqlConnection * tracker_data_manager_get_remote_connection (TrackerDataManager  *data_manager,
                                                                       const gchar         *uri,
                                                                       GError             **error);
+void tracker_data_manager_map_local_connection (TrackerDataManager      *data_manager,
+                                                const gchar             *handle_name,
+                                                TrackerSparqlConnection *connection);
 
 G_END_DECLS
 


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