Tracker.EndpointDBus

g GObject.GInterface GObject.GInterface Gio.Initable Gio.Initable GObject.GInterface->Gio.Initable GObject.Object GObject.Object Tracker.Endpoint Tracker.Endpoint GObject.Object->Tracker.Endpoint Tracker.EndpointDBus Tracker.EndpointDBus Gio.Initable->Tracker.EndpointDBus Tracker.Endpoint->Tracker.EndpointDBus

Subclasses:

None

Methods

Inherited:

Tracker.Endpoint (7), GObject.Object (37), Gio.Initable (2)

Structs:

GObject.ObjectClass (5)

class

new (sparql_connection, dbus_connection, object_path, cancellable)

Virtual Methods

Inherited:

GObject.Object (7), Gio.Initable (1)

Properties

Inherited:

Tracker.Endpoint (4)

Name

Type

Flags

Short Description

dbus-connection

Gio.DBusConnection

r/w/co

DBus connection

object-path

str

r/w/co

DBus object path

Signals

Inherited:

GObject.Object (1)

Name

Short Description

block-call

Fields

Inherited:

GObject.Object (1)

Class Details

class Tracker.EndpointDBus(**kwargs)
Bases:

Tracker.Endpoint, Gio.Initable

Abstract:

No

TrackerEndpointDBus makes the RDF data in a [class`Tracker`.SparqlConnection] accessible to other processes via DBus.

This object is a [class`Tracker`.Endpoint] subclass that exports a [class`Tracker`.SparqlConnection] so its RDF data is accessible to other processes through the given [class`Gio`.DBusConnection].

```c // This process already has org.example.Endpoint bus name endpoint = Tracker.EndpointDBus.new (sparql_connection, dbus_connection, None, None, &error);

// From another process connection = Tracker.SparqlConnection.bus_new (“org.example.Endpoint”, None, dbus_connection, &error); ```

The TrackerEndpointDBus will manage a DBus object at the given path with the org.freedesktop.Tracker3.Endpoint interface, if no path is given the object will be at the default /org/freedesktop/Tracker3/Endpoint location.

Access to D-Bus endpoints may be managed via the [signal`Tracker`.EndpointDBus::block-call] signal, the boolean return value expressing whether the request is blocked or not. Inspection of the requester address is left up to the user. The default value allows all requests independently of their provenance.

However, moderating access to D-Bus interfaces is typically not necessary in user code, as access to public D-Bus endpoints will be transparently managed through the Tracker portal service for applications sandboxed via XDG portals. These already have access to D-Bus SPARQL endpoints and their data naturally filtered as defined in the application manifest.

A TrackerEndpointDBus may be created on a different thread/main context from the one that created [class`Tracker`.SparqlConnection].

classmethod new(sparql_connection, dbus_connection, object_path, cancellable)
Parameters:
Raises:

GLib.Error

Returns:

a TrackerEndpointDBus object.

Return type:

Tracker.EndpointDBus

Registers a Tracker endpoint object at object_path on dbus_connection. The default object path is /org/freedesktop/Tracker3/Endpoint.

Signal Details

Tracker.EndpointDBus.signals.block_call(endpoint_d_bus, object)
Signal Name:

block-call

Flags:

Parameters:
Return type:

bool

Property Details

Tracker.EndpointDBus.props.dbus_connection
Name:

dbus-connection

Type:

Gio.DBusConnection

Default Value:

None

Flags:

READABLE, WRITABLE, CONSTRUCT_ONLY

The [class`Gio`.DBusConnection] where the connection is proxied through.

Tracker.EndpointDBus.props.object_path
Name:

object-path

Type:

str

Default Value:

None

Flags:

READABLE, WRITABLE, CONSTRUCT_ONLY

The DBus object path that this endpoint manages.