### Class

# Tracker EndpointDBus

#### Description [src]

    final class Tracker.EndpointDBus : Tracker.Endpoint
      implements Gio.Initable {
      /* No available fields */
    }

`TrackerEndpointDBus` makes the RDF data in a `TrackerSparqlConnection` accessible to other processes via DBus.

This object is a `TrackerEndpoint` subclass that exports a `TrackerSparqlConnection` so its RDF data is accessible to other processes through the given `GDBusConnection`.

    // This process already has org.example.Endpoint bus name
    endpoint = tracker_endpoint_dbus_new (sparql_connection,
                                          dbus_connection,
                                          NULL,
                                          NULL,
                                          &error);

    // From another process
    connection = tracker_sparql_connection_bus_new ("org.example.Endpoint",
                                                    NULL,
                                                    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 `TrackerEndpointDBus::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 `TrackerSparqlConnection`.

#### Ancestors

- TrackerEndpoint
- GObject

#### Implements

- GInitable

#### Constructors

###### tracker_endpoint_dbus_new

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

#### Instance methods

##### Methods inherited from TrackerEndpoint (7)

###### tracker_endpoint_get_allowed_graphs

Returns the list of RDF graphs that the endpoint allows access for.

since: 3.7

###### tracker_endpoint_get_allowed_services

Returns the list of external SPARQL endpoints that are allowed to be accessed through this endpoint.

since: 3.7

###### tracker_endpoint_get_readonly

Returns whether the endpoint is readonly, thus SPARQL update queries are disallowed.

since: 3.7

###### tracker_endpoint_get_sparql_connection

Returns the `TrackerSparqlConnection` that this endpoint proxies to a wider audience.

###### tracker_endpoint_set_allowed_graphs

Sets the list of RDF graphs that this endpoint will allow access for. Any explicit (e.g. `GRAPH` keyword) or implicit (e.g. through the default anonymous graph) access to RDF graphs unespecified in this list in SPARQL queries will be seen as if those graphs did not exist, or (equivalently) had an empty set. Changes to these graphs through SPARQL updates will also be disallowed.

since: 3.7

###### tracker_endpoint_set_allowed_services

Sets the list of external SPARQL endpoints that this endpoint will allow access for. Access through the `SERVICE` SPARQL syntax will fail for services not specified in this list.

since: 3.7

###### tracker_endpoint_set_readonly

Sets whether the endpoint will be readonly. Readonly endpoints will not allow SPARQL update queries. The underlying `TrackerSparqlConnection` may be readonly of its own, this method does not change its behavior in any way.

since: 3.7

##### Methods inherited from GObject (43)

Please see GObject for a full list of methods.

##### Methods inherited from GInitable (1)

###### g_initable_init

Initializes the object implementing the interface.

since: 2.22

#### Properties

###### Tracker.EndpointDBus:dbus-connection

The `GDBusConnection` where the connection is proxied through.

###### Tracker.EndpointDBus:object-path

The DBus object path that this endpoint manages.

##### Properties inherited from TrackerEndpoint (4)

###### Tracker.Endpoint:allowed-graphs

RDF graphs that are allowed to be accessed through queries to this endpoint. See tracker_endpoint_set_allowed_graphs().

since: 3.7

###### Tracker.Endpoint:allowed-services

External SPARQL endpoints that are allowed to be accessed through queries to this endpint. See tracker_endpoint_set_allowed_services().

since: 3.7

###### Tracker.Endpoint:readonly

Whether the endpoint allows SPARQL updates or not. See tracker_endpoint_set_readonly().

since: 3.7

###### Tracker.Endpoint:sparql-connection

The `TrackerSparqlConnection` being proxied by this endpoint.

#### Signals

###### Tracker.EndpointDBus::block-call

No description available.

##### Signals inherited from GObject (1)

###### GObject::notify

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.