Класс LBSProviderSettings
(Aurora::Location::LBSProviderSettings)
Класс LBSProviderSettings предоставляет доступ к настройкам конкретного LBS-провайдера:
позволяет получать текущие значения, изменять их асинхронно и отслеживать изменения
через сигналы. Настройки используются для управления ключом API, периодами запросов,
фоновым режимом и состоянием провайдера. Подробнее...
| Подключение: | #include <LBSProviderSettings> |
Свойства
- apiKey : QString
- backgroundPolicy : LBSBackgroundPolicy::Enum
- backgroundRequestPeriod : quint32
- providerName : QString
- requestPeriod : quint32
- status : Status::Enum
Публичные функции
| 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 содержит код ошибки.