diff options
author | Carlos Garnacho <carlosg@gnome.org> | 2021-02-20 18:09:29 +0100 |
---|---|---|
committer | Carlos Garnacho <carlosg@gnome.org> | 2021-02-20 23:29:00 +0100 |
commit | 38b4de262d814bef71f41877791532ad8379e113 (patch) | |
tree | 0553b2a4b5dc4aedd79a43ae7f2c1921e9b5a054 /src/libtracker-sparql/tracker-connection.c | |
parent | 17c8fff46e8648e79c321c14423b0ca3927a8738 (diff) | |
download | tracker-38b4de262d814bef71f41877791532ad8379e113.tar.gz |
libtracker-sparql: Add private call to get remote DBus service details
When subscribing a TrackerNotifier to notifications from a remote DBus
service, we may need to perform translation of dbus names and object
paths, as this connection may be sandboxed.
Implement this plumbing so we may ask the TrackerSparqlConnection
about the real DBus details behind a SPARQL DBus endpoint.
Fixes: https://gitlab.gnome.org/GNOME/tracker/-/issues/287
Diffstat (limited to 'src/libtracker-sparql/tracker-connection.c')
-rw-r--r-- | src/libtracker-sparql/tracker-connection.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/libtracker-sparql/tracker-connection.c b/src/libtracker-sparql/tracker-connection.c index 5dcc3d226..c6284d46e 100644 --- a/src/libtracker-sparql/tracker-connection.c +++ b/src/libtracker-sparql/tracker-connection.c @@ -93,6 +93,29 @@ tracker_sparql_connection_class_init (TrackerSparqlConnectionClass *klass) object_class->dispose = tracker_sparql_connection_dispose; } +gboolean +tracker_sparql_connection_lookup_dbus_service (TrackerSparqlConnection *connection, + const gchar *dbus_name, + const gchar *dbus_path, + gchar **name, + gchar **path) +{ + TrackerSparqlConnectionClass *connection_class; + + g_return_val_if_fail (TRACKER_IS_SPARQL_CONNECTION (connection), FALSE); + g_return_val_if_fail (dbus_name != NULL, FALSE); + + connection_class = TRACKER_SPARQL_CONNECTION_GET_CLASS (connection); + if (!connection_class->lookup_dbus_service) + return FALSE; + + return TRACKER_SPARQL_CONNECTION_GET_CLASS (connection)->lookup_dbus_service (connection, + dbus_name, + dbus_path, + name, + path); +} + /* The constructor functions are defined in the libtracker-sparql-backend, but * documented here. */ |