ubuntu-location-service
..
An aggregating location service providing positioning and geocoding capabilities to applications.
|
Ubuntu's location service is a central hub for multiplexing access to positioning subsystems available via hard- and software. It provides a client API offering positioning capabilities to applications and other system components, abstracting away the details of individual positioning solutions.
To make the remainder of this documentation as easily understandable as possible, we start over with introducing some vocabulary:
The high-level architecture of the service is shown in the following diagram:
In this diagram, the configuration of the engine refers to:
The Service takes this configuration and exposes it to client applications. In addition, mainly for debugging purposes, the set of currently visible satellites (if any) is maintained and exposed to privileged client applications.
Location information is highly privacy relevant. For this reason, the location service is deeply integrated with AppArmor and Ubuntu's overall trust infrastructure. Every incoming session request is validated and if in doubt, the user is asked to explicitly grant trust to the application requesting access to positioning information. Please see [com::ubuntu::location::service::PermissionManager] for further details.
In addition, the location service allows for selectively adjusting the accuracy and reporting setup of the location Engine to provide further fine-grained control over the exposed data to user. Within this setup, a user is able to entirely disable all positioning.