Документация
ОС Аврора 5.2.0

D-Bus интерфейс org.freedesktop.Geoclue.MasterClient

Интерфейс для работы с клиентом GeoClue.

Шина: системная
Служба: org.freedesktop.Geoclue.Master
Объект: путь до клиента
Интерфейс: org.freedesktop.Geoclue.MasterClient

Публичные типы

Сигналы

Методы

Подробное описание

Через данный интерфейс можно работать с созданным клиентом Geoclue. Приложениям, использующим данный интерфейс, необходимо указать разрешение Location.

Описание типов класса

enum AccuracyLevel

Уровень точности.

Константа Значение Описание
None 0 Нет источника
PostalCode 4 Используется LBS провайдерами
Detailed 6 Используется GNSS провайдером
Fused 7 Используется Fused провайдером
enum AllowedResource

Используемые источники.

Важно:

  • Fused провайдер может использовать все разрешенные в настройках способы геолокации, игнорируя данный флаг.
  • Указание любого из флагов Cell или Network воспринимается как LBS-источники.
  • Чтобы использовать эти источники, нужно разрешить их использование в настройках геолокации.
Константа Значение Описание
None 0 Ничего
Network 1 Сетевые источники
Cell 2 Информация о вышках сотовой связи
Gnss 4 Спутники
All 2^10 - 1 Все источники

Описание сигналов

PositionProviderChanged(string &name, string &description, string &service, string &path)

Уведомляет об изменении провайдера для клиента.

  • name — имя провайдера;
  • description — описание провайдера;
  • service — D-Bus-сервис провайдера (пустая строка, если провайдер пока не определён);
  • path — D-Bus-путь провайдера.

Описание методов

SetRequirements(int accuracyLevel, int time, bool requireUpdates, int allowedResources)

Задаёт требования, которые клиент предъявляет к получаемому способу геопозиционирования.

  • accuracyLevel — точность геопозиционирования, см. перечисление AccuracyLevel.
  • time — период обновлений в секундах. На данный момент игнорируется (считается равным 0), но может быть использован в будущем. Значение 0 задаёт максимально возможную скорость, но не быстрее 1 обновления в секунду
  • requireUpdates — нужно ли испускать сигнал об изменении данных. На данный момент игнорируется (считается равным true), но может быть использован в будущем.
  • allowedResources — разрешенные способы геопозиционирования, см. перечисление AllowedResource.
SetFiltration(bool enabled)

Задаёт включённость Fused провайдера. По умолчанию значение равно false. Fused также может быть включён с использованием метода SetRequirements. Но если в аргументе allowedResources метода SetRequirements уже передано разрешение на использование LBS и GNSS, тогда вызывать данный метод (SetFiltration) не нужно.

PositionStart()

Запускает поиск подходящего провайдера после вызова SetRequirements и SetFiltration.

На данный момент после вызова метода сменить требования к провайдеру нельзя, для этого нужно пересоздавать клиент GeoClue и настроить его заново.

GetPositionProvider(string &name, string &description, string &service, string &path)

Информация о текущем провайдере для клиента:

  • name — имя провайдера;
  • description — описание провайдера;
  • service — D-Bus-сервис провайдера (пустая строка, если провайдер пока не определён);
  • path — D-Bus-путь провайдера.

Мы используем cookies для персонализации сайта и его более удобного использования. Вы можете запретить cookies в настройках браузера.

Пожалуйста ознакомьтесь с политикой использования cookies.