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

Класс Applications

(Sailfish::Mdm::Applications)

Класс Applications предоставляет информацию об установленных приложениях и пакетах. Подробнее…

Заголовочный файл: #include <mdm-applications.h>

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

Публичные методы

Сигналы

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

Класс Applications предоставляет информацию об установленных приложениях и пакетах.

Для использования данного класса в qmake-настройки проекта клиента следует добавить следующее:

 CONFIG += link_pkgconfig
 PKGCONFIG += sailfishmdm

и затем #include <mdm-applications.h>.

Пример использования:

 #include <mdm-applications.h>
 void printApplications()
 {
     QList<Sailfish::Mdm::ApplicationEntry>  apps = Sailfish::Mdm::Applications().getInstalledApplications();
     foreach (const Sailfish::Mdm::ApplicationEntry &entry, apps) {
         Sailfish::Mdm::PackageEntry package = entry.package();
         qInfo() << "Название приложения:" << entry.name();
         qInfo() << "Из пакета:"
                 << (package.name().isEmpty() ? QStringLiteral("(none)")
                                              : QString("%1-%2").arg(package.name()).arg(package.version()));
         qInfo() << QStringLiteral("--------");
     }
 }

 void installPackage(const QString &pkgname)
 {
     Sailfish::Mdm::Applications *mdmApplications = new Sailfish::Mdm::Applications();
     QObject::connect(mdmApplications->installPackage(pkgname),
                      &Sailfish::Mdm::ApplicationOperation::finished,
                      [mdmApplication](Sailfish::Mdm::ApplicationOperation *operation) {
                          mdmApplications->deleteLater();
                          qInfo() << "Установка:" << operation->package()
                                  << (operation->isSucceeded() ? "успешна" : "провалилась");
                      });
 }

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

enum Applications::PackageKitOperation

Описывает тип операции, выполненной над пакетом(ами).

Константа Значение Описание
Sailfish::Mdm::Applications::InstallFromRepos 0 Установка пакета из удаленного репозитория.
Sailfish::Mdm::Applications::InstallFromFiles 1 Установка пакета из локальных файлов.
Sailfish::Mdm::Applications::Remove 2 Удаление пакета.

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

Applications::Applications(QObject *parent = 0)

Конструктор по умолчанию для класса Applications.

[virtual] Applications::~Applications()

Деструктор для класса Applications. Деструктор является виртуальным.

QStringList Applications::getAllowlist(uint uid)

Получает белый список приложений для пользователя с указанным uid или для активного пользователя, если uid равен 0.

Возвращает список приложений.

bool Applications::getAllowlistEnabled(uint uid)

Получает статус активности (enabled) белого списка для пользователя с указанным uid или для активного пользователя, если uid равен 0.

Возвращает true, если белый список включён, false — если выключен. В случае ошибки возвращает false с предупреждающим сообщением.

ApplicationEntry Applications::getInstalledApplicationInfo(uint uid = 0, QString appName = "")

Возвращает информацию об указанном приложении, включая список предоставленных разрешений для указанного идентификатора пользователя. Параметр appName содержит название приложения. Параметр uid содержит идентификатор пользователя (ID).

QList<ApplicationEntry> Applications::getInstalledApplications()

Возвращает список записей об установленных на устройстве приложениях.

QList<ApplicationEntry> Applications::getInstalledApplications(uint uid)

Возвращает список приложений, установленных на устройстве, с предоставленными разрешениями для указанного идентификатора пользователя. Параметр uid содержит идентификатор пользователя (ID)

QList<PackageEntry> Applications::getInstalledPackages()

Возвращает список записей об установленных на устройстве пакетах.

bool Applications::grantPermissions(uint uid, bool always, const QString &application)

Чтобы немедленно предоставить права активному пользователю, необходимо убедиться, что uid установлен на UID активного пользователя или на 0.

Разрешения будут предоставлены только пользователю с указанным uid и только для текущего набора разрешений application.

Если always установлено в true, права будут предоставлены всем существующим пользователям.

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

ApplicationOperation *Applications::installPackage(const QString &package, const QString &version = QString())

Устанавливается пакет package с версией version из системных RPM-репозиториев или по абсолютному пути.

См. также ApplicationOperation::finished, ApplicationOperation::failed и ApplicationOperation::succeeded.

ApplicationOperation *Applications::installPackages(const QStringList &packages, const QMap<QString, QString> &versions)

Устанавливает указанные packages с указанными versions из репозиториев RPM системы или по абсолютному пути.

См. также ApplicationOperation::finished, ApplicationOperation::failed и ApplicationOperation::succeeded.

[signal] void Applications::operationAborted(const PackageKitOperation op, const QString error)

Этот сигнал испускается, когда какому-то пакету не удалось выполнить операцию op. В error содержится описание произошедшей ошибки.

[signal] void Applications::operationSucceeded(const PackageKitOperation op)

Этот сигнал испускается, когда некоторый пакет успешно выполнил операцию op.

ApplicationOperation *Applications::removePackage(const QString &package, bool autoremove)

Удаляет установленный RPM-пакет.

Если значением параметра autoremove является true, метод также предлагает удалить зависимости, установленные вместе с пакетом package, если они не используются другими компонентами.

См. также ApplicationOperation::finished, ApplicationOperation::failed и ApplicationOperation::succeeded.

ApplicationOperation *Applications::removePackages(const QStringList &packages, bool autoremove)

Удаляет установленные RPM-пакеты.

Если autoremove имеет значение true, система предложит удалить зависимости, которые были установлены для packages и больше не используются другими компонентами.

См. также ApplicationOperation::finished, ApplicationOperation::failed и ApplicationOperation::succeeded.

bool Applications::setAllowlist(uint uid, const QStringList &applications)

Устанавливает белый список приложений applications для пользователя с указанным uid или для активного пользователя, если uid равен 0.

Возвращает true, если белый список был успешно установлен, иначе — false с предупреждающим сообщением.

bool Applications::setAllowlistEnabled(uint uid, bool enabled)

Устанавливает статус активности (enabled) белого списка для пользователя с указанным uid или для активного пользователя, если uid равен 0. Параметр enabled содержит новый статус.

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

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

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