Kaspersky IoT Secure Gateway 1000 SDK

Интерфейс IConfigChangeSubscription

23 января 2025

ID 233404

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

Интерфейс IConfigChangeSubscription предоставляет методы для управления отслеживанием изменений конфигурации программы.

Описание интерфейса IConfigChangeSubscription представлено в следующих файлах:

  • /opt/KasperskyOS-SDK-KISG-Platform-<version>/sysroot-*-kos/include/component/secure_platform/config_manager/config_manager/config_change_subscription.h

    Содержит методы для использования на языке C++.

  • /opt/KasperskyOS-SDK-KISG-Platform-<version>/sysroot-*-kos/include/component/secure_platform/config_manager/config_change_subscription_api_for_c/config_change_subscription_for_c.h

    Содержит функцию для использования на языке C.

Для получения экземпляра интерфейса IConfigChangeSubscription на языке C++ используются следующие функции:

  • config_manager::CreateStaticConfigChangeSubscriptionProxy()

    Предоставляет экземпляр интерфейса для работы со статическим отслеживанием изменений конфигурации. Содержится в файле /opt/KasperskyOS-SDK-KISG-Platform-<version>/sysroot-*-kos/include/component/secure_platform/config_manager/config_change_subscription_api/config_change_subscription_proxy_factory.h.

  • config_manager::CreateDynamicConfigChangeSubscriptionProxy()

    Предоставляет экземпляр интерфейса для работы с динамическим отслеживанием изменений конфигурации. Содержится в файле /opt/KasperskyOS-SDK-KISG-Platform-<version>/sysroot-*-kos/include/component/secure_platform/config_manager/config_change_subscription_dynamic_api/config_change_subscription_dynamic_proxy_factory.h.

Подписка на события изменение конфигурации

Для отслеживания изменений конфигурации на языке C++ используются методы IConfigChangeSubscription::Subscribe() и IConfigChangeSubscription::DynamicSubscribe(). Метод IConfigChangeSubscription::Subscribe() принимает структуру типа ChangeSubscriber, описывающую подписчика и имя конфигурации. Структура ChangeSubscriber состоит из имени сервиса-подписчика и имени интерфейса. Метод IConfigChangeSubscription::DynamicSubscribe() предназначен для динамического отслеживания изменений конфигурации и принимает имя интерфейса для подписки и имя конфигурации.

config_change_subscription.h (фрагмент)

class IConfigChangeSubscription

{

...

virtual Result Subscribe(const ChangeSubscriber& subscriber, const std::string& name) = 0;

virtual Result DynamicSubscribe(const ChangeSubscriber& subscriber, const std::string& name) = 0;

...

}

Для отслеживания изменений конфигурации на языке C используется функция ConfigChangeSubscribeForC(). Функция принимает имя сервиса-подписчика, имя интерфейса подписчика и имя конфигурации.

config_change_subscription_for_c.h (фрагмент)

...

Retcode ConfigChangeSubscribeForC(const char* entityName, const char* interfaceName, const char* configName);

...

Отписка от событий изменения конфигурации

Для прекращения отслеживания изменений конфигурации на языке C++ используются методы IConfigChangeSubscription::Unsubscribe() и IConfigChangeSubscription::DynamicUnsubscribe(). Метод IConfigChangeSubscription::Unsubscribe() принимает указатель на структуру типа ChangeSubscriber, описывающую подписчика. Метод IConfigChangeSubscription::DynamicUnsubscribe() предназначен для прекращения динамического отслеживания изменений конфигурации и принимает указатель на структуру типа ChangeSubscriber, описывающую подписчика.

config_change_subscription.h (фрагмент)

class IConfigChangeSubscription

{

...

virtual Result Unsubscribe(const ChangeSubscriber& subscriber) = 0;

virtual Result DynamicUnsubscribe(const ChangeSubscriber& subscriber) = 0;

...

}

Функциональность прекращения отслеживания изменений конфигурации на языке C не реализована.

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