Интерфейс IPackageController
API определен в заголовочном файле sysroot-*-kos/include/component/package_manager/i_package_control.h
из состава KasperskyOS SDK.
API позволяет:
- устанавливать KPA-пакет в решение на базе KasperskyOS и удалять KPA-пакет;
- получать сведения об установленном KPA-пакете: уникальный идентификатор, данные из манифеста KPA-пакета, статус KPA-пакета (установлен или удален).
Сведения о функциях API приведены в таблице ниже.
Установка KPA-пакета
Чтобы установить KPA-пакет, нужно вызвать функцию InstallPackage()
. Через входной параметр pkgInfo
эта функция принимает данные для проверки сертификатов устанавливаемого KPA-пакета в виде структуры InstallPackageInfo
. Все поля этой структуры являются опциональными для заполнения.
Если параметр signatureVerify
установлен в значение true
(проверять сертификаты устанавливаемого KPA-пакета), а имена файлов не указаны, то при установке KPA-пакета будут использованы значения по умолчанию: <имя_пакета>.kcat
для файла внешней подписи KPA-пакета и <имя_пакета>.kidx
для индексного файла KPA-пакета.
Удаление KPA-пакета
Чтобы удалить KPA-пакет, нужно вызвать функцию UninstallPackage()
.
Получение сведений об установленных KPA-пакетах
Чтобы получить уникальные идентификаторы установленных KPA-пакетов, нужно вызвать функцию ListInstalledPackages()
. Через выходной параметр pkgUIDs
функция возвращает список уникальных идентификаторов установленных пакетов.
Чтобы получить данные о манифесте KPA-пакета, нужно вызвать функцию GetManifest()
. Через выходной параметр manifest
функция возвращает указатель на экземпляр интерфейса IPackageManifest
, используя который можно получить доступ к значениям ключей манифеста KPA-пакета. Подробнее см. "Интерфейс IPackageManifest".
Уведомления о статусах KPA-пакетов в решении на базе KasperskyOS
Компонент PackageManager реализует механизм уведомлений о статусах KPA-пакетов в решении на базе KasperskyOS, позволяя отслеживать изменения в их состоянии. Для получения уведомлений нужно создать очередь уведомлений используя функцию CreateEventQueue()
.
Чтобы извлекать уведомления из этой очереди, нужно использовать функцию GetEvents()
. Через выходной параметр pkgEvent
s функция возвращает статус KPA-пакетов (с момента создания очереди) в виде структуры PackageEvent
.
Чтобы удалить очередь уведомлений, нужно вызвать функцию DestroyEventQueue()
.
Функции i_package_control.h
Функция |
Сведения о функции |
---|---|
|
Назначение Устанавливает KPA-пакет. Параметры
Возвращаемые значения В случае успеха возвращает |
|
Назначение Удаляет KPA-пакет. Параметры
Возвращаемые значения В случае успеха возвращает |
|
Назначение Получает уникальные идентификаторы установленных KPA-пакетов. Параметры
Возвращаемые значения В случае успеха возвращает |
|
Назначение Получает указатель на экземпляр интерфейса Параметры
Возвращаемые значения В случае успеха возвращает |
|
Назначение Получает хеш-сумму файла компонента KPA-пакета из базы данных компонента PackageManager. Параметры
Возвращаемые значения В случае успеха возвращает |
|
Назначение Получает содержимое компонента KPA-пакета. Параметры
Возвращаемые значения В случае успеха возвращает |
|
Назначение Создает очередь уведомлений о статусах KPA-пакетов. Параметры
Возвращаемые значения В случае успеха возвращает |
|
Назначение Удаляет очередь уведомлений о статусах KPA-пакетов. Параметры
Возвращаемые значения В случае успеха возвращает |
|
Назначение Получает из очереди уведомлений статусы KPA-пакетов. Параметры
Возвращаемые значения В случае успеха возвращает |
Пример использования:
client.cpp