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

Класс LBSProviderSettings

(Aurora::Location::LBSProviderSettings)

Класс LBSProviderSettings предоставляет доступ к настройкам конкретного LBS-провайдера: позволяет получать текущие значения, изменять их асинхронно и отслеживать изменения через сигналы. Настройки используются для управления ключом API, периодами запросов, фоновым режимом и состоянием провайдера. Подробнее...

Подключение: #include <LBSProviderSettings>

Свойства

Публичные функции

LBSProviderSettings(QObject *parent = nullptr)
virtual ~LBSProviderSettings()
QString apiKey() const
LBSBackgroundPolicy::Enum backgroundPolicy() const
quint32 backgroundRequestPeriod() const
void initializeAsync()
QString providerName() const
quint32 requestPeriod() const
void setApiKeyAsync(const QString &key)
void setBackgroundPolicyAsync(LBSBackgroundPolicy::Enum policy)
void setBackgroundRequestPeriodAsync(quint32 period)
void setProviderName(const QString &name)
void setRequestPeriodAsync(quint32 period)
void setStatusAsync(Status::Enum status)
Status::Enum status() const

Сигналы

void apiKeyChanged(const QString &key)
void backgroundPolicyChanged(LBSBackgroundPolicy::Enum policy)
void backgroundRequestPeriodChanged(quint32 period)
void error(const QString &message)
void initializeFinished(bool success)
void providerNameChanged(const QString &name)
void requestPeriodChanged(quint32 period)
void statusChanged(Status::Enum status)
void validationError(QDBusError::ErrorType err)

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

Предоставляет геттеры и сеттеры для настроек конкретного LBS-провайдера.

Этот класс работает в комбинированном синхронно-асинхронном режиме:

  • Свойства инициализируются при создании объекта, что позволяет затем получать их значения через геттеры мгновенно.
  • Когда свойство обновляется извне, оно мгновенно обновляется, и испускается соответствующий сигнал.
  • Их сеттеры работают в асинхронном режиме.

Комбинированный режим удобен для виджетов и сервисов, которым нужны актуальные значения без ожидания: после создания объекта значения уже доступны, а изменения применяются асинхронно и сопровождаются сигналами.

Описание свойств

apiKey : QString

Содержит ключ, используемый для выполнения запросов к API. Ключ передаётся провайдеру при обращении к внешнему сервису; его изменение выполняется асинхронно.

Функции доступа:

QString apiKey() const
void setApiKeyAsync(const QString &key)

Сигнал уведомления:

void apiKeyChanged(const QString &key)

backgroundPolicy : LBSBackgroundPolicy::Enum

Задаёт правила работы провайдера LBS в фоновом режиме. Политика определяет, разрешены ли фоновые запросы и какой период использовать.

Функции доступа:

LBSBackgroundPolicy::Enum backgroundPolicy() const
void setBackgroundPolicyAsync(LBSBackgroundPolicy::Enum policy)

Сигнал уведомления:

void backgroundPolicyChanged(LBSBackgroundPolicy::Enum policy)

backgroundRequestPeriod : quint32

Задаёт интервал между запросами в фоновом режиме.

Данное значение применяется как интервал запросов при условии backgroundPolicy == LBSBackgroundPolicy::UseBackgroundPeriod. Свойство применяется только при выбранной фоновой политике и не влияет на активные запросы.

Функции доступа:

quint32 backgroundRequestPeriod() const
void setBackgroundRequestPeriodAsync(quint32 period)

Сигнал уведомления:

void backgroundRequestPeriodChanged(quint32 period)

providerName : QString

Содержит имя LBS-провайдера. Имя используется для выбора конкретного провайдера при инициализации.

Свойство необходимо установить до инициализации объекта. Иначе поведение является неопределённым.

Функции доступа:

QString providerName() const
void setProviderName(const QString &name)

Сигнал уведомления:

void providerNameChanged(const QString &name)

requestPeriod : quint32

Задаёт интервал между запросами координат в активном режиме.

Функции доступа:

quint32 requestPeriod() const
void setRequestPeriodAsync(quint32 period)

Сигнал уведомления:

void requestPeriodChanged(quint32 period)

status : Status::Enum

Указывает, активен ли провайдер. Изменение значения выполняется асинхронно.

Функции доступа:

Status::Enum status() const
void setStatusAsync(Status::Enum status)

Сигнал уведомления:

void statusChanged(Status::Enum status)

Описание функций-членов

LBSProviderSettings::LBSProviderSettings(QObject *parent = nullptr)

По умолчанию создает экземпляр LBSProviderSettings. Конструктор создаёт объект с настройками по умолчанию; имя провайдера следует задать до инициализации.

[virtual] LBSProviderSettings::~LBSProviderSettings()

Уничтожает экземпляр LBSProviderSettings. Деструктор является виртуальным.

[signal] void LBSProviderSettings::error(const QString &message)

Испускается при возникновении ошибки. Параметр message содержит описание ошибки.

void LBSProviderSettings::initializeAsync()

Приступает к инициализации объекта. После завершения инициализации испускается сигнал initializeFinished(true), и свойства объекта инициализируются корректными значениями. Если инициализация завершилась с ошибкой, испускается сигнал initializeFinished(false), и свойства объекта переводятся в состояние Unknown. Метод запускает асинхронную инициализацию; до завершения свойства могут содержать значения по умолчанию или состояния Unknown.

[signal] void LBSProviderSettings::initializeFinished(bool success)

Сигнал испускается после завершения initializeAsync(). Параметр success указывает, прошла ли успешно инициализация. Сигнал позволяет продолжить работу только после успешной инициализации или обработать отказ.

[signal] void LBSProviderSettings::validationError(QDBusError::ErrorType err)

Сигнал испускается при возникновении ошибки в процессе валидации API-ключа. Параметр err содержит код ошибки.

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

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