Компонент PackageManager

12 января 2026

ID packmgr_component

API определен в заголовочных файлах, расположенных в директории sysroot-*-kos/include/component/package_manager/ из состава KasperskyOS SDK.

Сценарий использования компонента PackageManager описан в статье "Сценарий использования компонента PackageManager".

Интерфейс package_manager_proxy.h

API определен в заголовочном файле sysroot-*-kos/include/component/package_manager/kos_ipc/package_manager_proxy.h из состава KasperskyOS SDK.

Интерфейс содержит функцию CreatePackageManager() для получения указателя на экземпляр интерфейса IPackageManager, необходимого для работы с компонентом PackageManager. Через входной параметр cfg эта функция принимает параметры конфигурации в виде структуры PackageManagerConfig. Все поля этой структуры опциональны для заполнения.

struct PackageManagerConfig

{

// Имя IPC-канала для соединения с процессом PackageManager.

std::string const mainConnection = KOS_PKGMGR_CONN_MAIN;

// Имя службы, реализующей интерфейс IPackageController.

std::string const pkgControlInterface = KOS_PKGMGR_IFACE_PKGC;

// Имя класса процесса PackageManager.

std::string const pkgMgrServerName = KOS_PKGMGR_SERVER_NAME;

};

Функции package_manager_proxy.h

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

client.cpp

#include <component/package_manager/kos_ipc/package_manager_proxy.h>

namespace pkgmgr = package_manager;

int main(int argc, const char *argv[])

{

// ...

pkgmgr::IPackageManagerPtr iPkgMgr;

std::string mainConnection{"PkgMgrEntity"};

std::string pkgControlInterface{"kl.package_manager.PackageManager.ipkgc"};

pkgmgr::ipc::PackageManagerConfig cfg{mainConnection, pkgControlInterface};

if (CreatePackageManager(cfg, iPkgMgr) != kos::rtl::Ok)

return EXIT_FAILURE;

// ...

}

Интерфейс IPackageManager

API определен в заголовочном файле sysroot-*-kos/include/component/package_manager/i_package_manager.h из состава KasperskyOS SDK.

Интерфейс IPackageManager позволяет получить указатель на интерфейс IPackageController. Этот интерфейс предназначен для установки KPA-пакетов в решение на базе KasperskyOS, а также получения сведений о них.

Функции i_package_manager.h

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

client.cpp

int main(int argc, const char *argv[])

{

// ...

pkgmgr::IPackageControllerPtr pkgc;

if (iPkgMgr->GetPackageController(pkgc) != kos::rtl::Ok)

return EXIT_FAILURE;

// ...

}

Вам помогла эта статья?
Что нам нужно улучшить?
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!