Интерфейс applications::routing::IRouteProvider предоставляет метод для получения маршрутов программы. Для получения экземпляра интерфейса applications::routing::IRouteProvider используется функция applications::routing::CreateRouteProviderProxy(), расположенная в файле /opt/KasperskyOS-SDK-KISG-Platform-<version>/sysroot-*-kos/include/component/secure_platform/routing_table/route_provider_api/route_provider_proxy_factory.h.
route_provider_proxy_factory.h (фрагмент)
namespace applications::routing {
class IRouteProvider;
std::unique_ptr<IRouteProvider> CreateRouteProviderProxy();
}
Метод для получения маршрутов программы IRouteProvider::GetRoutes() принимает идентификатор программы и возвращает список обнаруженных маршрутов в виде структуры Routes, которая содержит вектор маршрутов RouteList и текущую ревизию маршрутов. Ревизия может быть использована для предотвращения состояния гонки при выполнении асинхронных операций.
Описание интерфейса IRouteProvider представлено в файле /opt/KasperskyOS-SDK-KISG-Platform-<version>/sysroot-*-kos/include/component/secure_platform/routing_table/base/route_provider.h.
route_provider.h (фрагмент)
class IRouteProvider
{
...
virtual kos::rtl::Result GetRoutes(AppId application, Routes& routes) const noexcept = 0;
};
В начало