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

Класс Provisioner

(Sailfish::Mdm::Accounts::Provisioner)

Базовый тип для инициализации учётной записи. Подробнее…

Подключение: #include <mdm-accounts.h>
Наследники: Sailfish::Mdm::Accounts::ActiveSyncAccountProvisioner, Sailfish::Mdm::Accounts::EmailAccountProvisioner и Sailfish::Mdm::Accounts::GenericAccountProvisioner

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

Свойства

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

Сигналы

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

Базовый тип для инициализации учётной записи.

Клиентские приложения не должны использовать этот класс напрямую. Вместо него следует использовать один из производных типов, например, Sailfish::Mdm::Accounts::EmailAccountProvisioner.

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

accountConfiguration : QVariantMap

Содержит параметры конфигурации, которые будут связаны с создаваемой учётной записью.

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

Например, добавить новые ключи в существующую конфигурация можно следующим образом:

 // Получить текущую конфигурацию аккаунта
 QVariantMap config = accountProvisioner.accountConfiguration();

 // Изменить текущую глобальную конфигурацию
 QVariantMap globalConfig = config.value(QString()).toMap();     // глобальная конфигурация идентифицируется пустым именем службы
 globalConfig.insert(QStringLiteral("created_by_mdm"), true);
 config.insert(QString(), globalConfig);

 // Изменить текущую конфигурацию электронной почты
 QVariantMap emailConfig = config.value(QStringLiteral("email").toMap();
 emailConfig.insert(QStringLiteral("signature"), QStringLiteral("Sent by my Aurora OS device"));
 config.insert(QStringLiteral("email"), emailConfig);

 // Обновить конфигурацию аккаунта
 accountProvisioner.setAccountConfiguration(config);

Методы доступа:

  • QVariantMap accountConfiguration() const
  • void setAccountConfiguration(const QVariantMap &config)

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

  • void accountConfigurationChanged()

accountDisplayName : QString

Содержит отображаемое имя учётной записи, которая будет проинициализирована.

Методы доступа:

  • QString accountDisplayName() const
  • void setAccountDisplayName(const QString &displayName)

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

  • void accountDisplayNameChanged()

accountLimited : bool

Свойство истинно, если учётная запись находится в ограниченном режиме.

Только пароль таких учётных записей можно установить вне MDM API.

Значение по умолчанию для этого параметра для учётных записей: false.

Методы доступа:

  • bool accountLimited() const
  • void setAccountLimited(bool limited)

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

  • void accountLimitedChanged()

accountReadOnly : bool

Истинно, если учётная запись находится в режиме только для чтения.

Такие учётные записи можно редактировать и удалять только с помощью MDM API.

Значение по умолчанию для этого параметра: false.

Методы доступа:

  • bool accountReadOnly() const
  • void setAccountReadOnly(bool readOnly)

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

  • void accountReadOnlyChanged()

canCreateAccount : const bool

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

Методы доступа:

  • bool canCreateAccount() const

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

  • void canCreateAccountChanged()

lastTransactionUuid : const QString

Свойство содержит UUID последней транзакции в очереди или пустую строку.

Когда выполняется транзакция в очереди (т. е. user не равен 0 и пользователь не вошёл в систему), он содержит универсальный уникальный идентификатор (UUID) этой транзакции. Он действителен до тех пор, пока не произойдёт следующая транзакция в очереди. Если поставленная в очередь транзакция завершилась неудачно или ничего не было выполнено, то свойству будет присвоена пустая строка.

Методы доступа:

  • QString lastTransactionUuid() const

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

  • void lastTransactionUuidChanged()

providerName : QString

Содержит имя поставщика услуг для учётной записи, которая будет проинициализирована.

Для каждой учётной записи указывается свой поставщик услуг, по имени которого эта учётная запись идентифицируется. Учётная запись будет создана только после указания корректного имени поставщика услуг.

Поставщики услуг устанавливаются с помощью плагинов расширения фреймворка работы с учётными записями.

Методы доступа:

  • QString providerName() const
  • void setProviderName(const QString &providername)

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

  • void providerNameChanged()

queuedTransactionUsed : const bool

Свойство указывает, использовалась ли последняя операция транзакции в очереди.

Значение true, если последняя операция хранит транзакцию в очереди. Свойство необходимо проверить, если user не равен 0 и операция поддерживает транзакции в очереди. Значение действительно до следующей операции.

Значение true, даже если транзакция в очереди не удалась и ничего не было сохранено.

Методы доступа:

  • bool queuedTransactionUsed() const

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

  • void queuedTransactionUsedChanged()

user : int

Свойство содержит UID пользователя или 0, если идентификатор не указан

Когда изменение учётной записи направлено пользователю Unix на устройстве, это свойство должно использоваться для указания идентификатора пользователя (UID). Если пользователь в настоящее время не вошёл в систему, транзакция ставится в очередь и запускается, как только пользователь войдёт в систему в следующий раз. Следует обратить внимание, что это доступно не для всех интерфейсов.

Свойство не проверяет, существует ли пользователь. Вызывающий клиент обязан проверить, какие пользователи существуют на устройстве. Свойство также можно использовать для пользователей, которые ещё не созданы.

Методы доступа:

  • int user() const
  • void setUser(int user)

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

  • void userChanged()

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

Provisioner::Provisioner(QObject *parent = nullptr)

Конструктор для класса Provisioner с родительским элементом, указанном в параметре parent.

[virtual] Provisioner::~Provisioner()

Деструктор для класса Provisioner.

[virtual] bool Provisioner::commitChanges()

Попытки установить предстоящие свойства изменений для существующей учётной записи.

Возвращает false, если учётная запись не существует.

[pure virtual] bool Provisioner::createAccount()

Выполняет попытку создания учётной записи с параметрами, указанными в классе Provisioner. Эта операция поддерживает транзакции в очереди.

Когда используются транзакции в очереди, аргумент сведений обратного вызова имеет поля accountId (unsigned long long), error (int) и errorMessage (string).

Возвращает true, если учётная запись была успешно создана или транзакция была поставлена в очередь, в противном случае возвращает false.

[virtual] bool Provisioner::deleteAccount(quint64 accountId)

Удаляет учётную запись по указанному идентификатору accountId. Эта операция поддерживает транзакции в очереди.

Когда используются транзакции в очереди, аргумент деталей обратного вызова имеет поля success (bool), error (int) и errorMessage (string).

Возвращает true, если учётная запись была успешно удалена или транзакция была поставлена в очередь, в противном случае возвращает false.

int Provisioner::error() const

Возвращает код ошибки при неудачной попытке создания учётной записи.

Значение кода будет зависеть от значения полей класса Provisioner.

QString Provisioner::errorMessage() const

Возвращает сообщение ошибки при неудачной попытке создания или изменения учётной записи.

Данное сообщение не следует показывать в пользовательском интерфейсе приложения. Вместо этого его следует записивать в журнал. В этом сообщении содержатся технические подробности причины неудачи.

[virtual] QList<Sailfish::Mdm::Accounts::Provisioner::AccountInfo> Provisioner::listAccounts()

Возвращает список, состоящий из идентификатора учётной записи, имени поставщика услуг и внешнего идентификатора (например, адреса электронной почты) для каждой учётной записи.

[virtual] bool Provisioner::selectAccount(quint64 accountId)

Подготавливает провайдер к модификации/интроспекции учётной записи с значением accountId.

Примечание — Можно выбрать только учётные записи провайдера.

Возвращает true, если выбрано, в противном случае возвращает false.

void Provisioner::setResultHandler(const QString &service, const QString &path, const QString &interface, const QString &method)

Устанавливает обработчик для обратного вызова транзакции в очереди.

Когда используются транзакции в очереди, это можно использовать для установки обратного вызова D-Bus, который вызывается после выполнения транзакции.

Аргументы service, path, interface и method определяют метод D-Bus, вызываемый после завершения транзакции. Он должен иметь аргументы (ssa{sv}) для идентификатора транзакции, ошибки и подробностей соответственно. Значения массива c подробностями зависят от операции, но в случае ошибки он содержит только один ключ errorMessage со строковым значением для полученного сообщения об ошибке.

Обратный вызов не установлен, если указана пустая строка.

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

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