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;
// ...
}