Библиотека message_stub

Библиотека message_stub содержит функции для запуска потоков отправки и получения сообщений, функцию для получения экземпляра интерфейса IConfigManagerClient и интерфейсы, описывающие получателя и отправителя сообщений.

Описание функций messaging::CreateConfigManagerClient(), messaging::RunIpcSender() и messaging::RunIpcReceiver() представлено в файле /opt/KasperskyOS-SDK-KISG-Platform-<version>/sysroot-*-kos/include/secure_gateway/message_stub/include/message_stub/message_stub.h.

При инициализации функций messaging::RunIpcReceiver() и messaging::RunIpcSender() будет вызван callback-метод IConfigChangeClient::OnConfigChanged() интерфейса IConfigChangeClient.

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

namespace messaging {

std::unique_ptr<config_manager::IConfigManagerClient> CreateConfigManagerClient();

void RunIpcReceiver(const std::string& entityName,

std::shared_ptr<message_receiver::IMessageReceiver> receiver,

const std::string& configFileName);

void RunIpcSender(const std::string& entityName,

std::shared_ptr<message_sender::IMessageSender> sender,

const std::string& configFileName);

}

Чтобы получить доступ к API библиотеки, скомпонуйте вашу программу с библиотекой, используя CMake-команду target_link_libraries().

CMakeLists.txt

target_link_libraries(${EXECUTABLE_NAME} message_stub)

Интерфейс IMessageSender

Интерфейс IMessageSender описывает класс отправителя сообщений.

Класс IMessageSender наследует атрибуты и методы интерфейсов message_bus::ISubscriber, config_manager::IConfigChangeClient и applications::routing::IEndpointNameProvider. Реализация класса остается на стороне клиента. Вы можете посмотреть пример реализации класса IMessageSender в примере message_sender_example_package. Описание класса IMessageSender представлено в файле /opt/KasperskyOS-SDK-KISG-Platform-<version>/sysroot-*-kos/include/secure_gateway/message_stub/include/message_stub/message_sender.h.

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

namespace message_sender {

class IMessageSender

: public message_bus::ISubscriber

, public config_manager::IConfigChangeClient

, public applications::routing::IEndpointNameProvider

{

public:

virtual ~IMessageSender() = default;

};

}

Интерфейс IMessageReceiver

Интерфейс IMessageReceiver описывает класс получателя сообщений.

Класс IMessageReceiver наследует атрибуты и методы интерфейсов messaging::IMessageConsumer, config_manager::IConfigChangeClient и applications::routing::IEndpointNameProvider. Реализация класса остается на стороне клиента. Вы можете посмотреть пример реализации класса IMessageReceiver в примере message_receiver_example_package. Описание класса IMessageReceiver представлено в файле /opt/KasperskyOS-SDK-KISG-Platform-<version>/sysroot-*-kos/include/secure_gateway/message_stub/include/message_stub/message_receiver.h.

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

namespace message_receiver {

class IMessageReceiver

: public messaging::IMessageConsumer

, public config_manager::IConfigChangeClient

, public applications::routing::IEndpointNameProvider

{

public:

virtual ~IMessageReceiver() = default;

};

}

В начало