Пользовательский интерфейс программ

В Kaspersky IoT Secure Gateway 1000 SDK реализована возможность разработки программ с пользовательским интерфейсом, отображаемом в веб-плагине управления Kaspersky IoT Secure Gateway 1000 веб-консоли Kaspersky Security Center. Вы можете использовать существующий базовый пользовательский интерфейс, вызвав функцию generate_application_kpa() в командах сборки CMake со значением параметра UI_RESOURCE_NAME, установленным в default.

Базовый пользовательский интерфейс предоставляет следующие элементы управления:

Вы можете посмотреть использование базового пользовательского интерфейса в примере default_ui_example_package.

Содержимое ресурсов базового пользовательского интерфейса

Файлы ресурсов базового пользовательского интерфейса имеют формат JSON и располагаются в директории /opt/KasperskyOS-SDK-KISG-Platform-<version>/share/ksc/ui/default. Директория содержит две поддиректории, перемещать, переименовывать или удалять которые не следует:

Доработка базового пользовательского интерфейса

Не рекомендуется использовать типы элементов интерфейса или обработчиков, не перечисленные в файлах базового пользовательского интерфейса APP_CONFIGURATION.json и handler_declarations.json, так как это может привести к неработоспособности пользовательского интерфейса программы.

Вы можете доработать базовый пользовательский интерфейс под нужды вашей программы. Для этого вам потребуется скопировать ресурсы базового пользовательского интерфейса в директорию с ресурсами вашей программы и вызвать функцию generate_application_kpa() в командах сборки CMake с параметром UI_RESOURCE_NAME, установленным в значение пути до ресурсов доработанного пользовательского интерфейса относительно пути, указанного в параметре RESOURCES.

Формат обмена данными между вашей программой и веб-плагином управления Kaspersky IoT Secure Gateway 1000 веб-консоли Kaspersky Security Center строго определен.

Чтобы связать вашу программу с ресурсами пользовательского интерфейса, вам потребуется внести в файлы ресурсов базового пользовательского интерфейса следующие изменения:

Мы не рекомендуем вручную добавлять новые элементы интерфейса в файл APP_CONFIGURATION.json. Вместо этого, воспользуйтесь реализацией схемы разметки из базового пользовательского интерфейса или используйте файл APP_CONFIGURATION.json из примеров message_sender_example_package и message_receiver_example_package.

Элементы интерфейса, с которыми пользователь может взаимодействовать, размещены в поле "json": {...} файла APP_CONFIGURATION.json. Вы можете перемещать, удалять и изменять элементы интерфейса под нужды вашей программы. Если вы создаете новый элемент интерфейса, с которым нужно взаимодействовать, то вам потребуется связать его с действием, описанным в файле handler_declarations.json. Связывание осуществляется вызовом обработчика действия из файла handler_declarations.json по имени "handlerName": "..." при описании типа взаимодействия пользователя с элементом интерфейса. Например, при нажатии на кнопку, вызывается обработчик загрузки файла:

APP_CONFIGURATION.json (фрагмент)

...

{

"type": "button",

"label": "Upload files",

"click_handler": "plugins.kasperskyKisgExample.appConfiguration.uploadFiles",

...

}

...

handler_declarations.json (фрагмент)

...

{

"handlerName": "plugins.kasperskyKisgExample.appConfiguration.uploadFiles",

"joinMemberName": "kiotsg.pluginHelpers.uploadFilesCb",

...

}

...

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

В начало