Интерфейсы ISubscriber, IWaiter и ISubscriberRunner
Интерфейсы ISubscriber
, IWaiter
и ISubscriberRunner
предоставляют методы для получения и обработки подписчиком сообщений из шины.
Описания интерфейсов ISubscriber
, IWaiter
и ISubscriberRunner
представлены в файле /opt/KasperskyOS-Community-Edition-<version>/sysroot-*-kos/include/messagebus/i_subscriber.h
.
Для получение экземпляров интерфейсов IWaiter
и ISubscriberRunner
используется интерфейс IProviderFactory
. Реализация callback-интерфейса ISubscriber
предоставляется приложением-подписчиком.
Получение сообщения из шины
Для перевода подписчика в режим ожидания сообщения от шины, вы можете использовать метод IWaiter::Wait()
или ISubscriberRunner::Run()
. Методы принимают идентификатор клиента шины и указатель на callback-интерфейс ISubscriber
. Если идентификатор клиента не зарегистрирован, то вызов будет отклонен.
Мы не рекомендуем использовать интерфейс IWaiter
, поскольку вызов метода IWaiter::Wait()
является блокирующим.
При получении сообщения из шины будет вызван метод ISubscriber::OnMessage()
. Метод принимает тему и идентификатор сообщения.
i_subscriber.h (фрагмент)