File remote_data_loader_backend.hpp

Parent directory (foxglove/include/foxglove)

Definition (foxglove/include/foxglove/remote_data_loader_backend.hpp)

Detailed Description

Types and utilities for building remote data loader manifests.

Use Struct ChannelSet to declare channels, then construct a Struct StreamedSource with the resulting topics and schemas.

This header requires nlohmann/json and tobiaslocker/base64 to be available on the include path.

Example #include<File remote_data_loader_backend.hpp> #include<foxglove/messages.hpp>

namespacerdl=:ref:namespace_foxglove__remote_data_loader_backend;

rdl::ChannelSetchannels; channels.insert<Struct Vector3>(“/demo”);

rdl::StreamedSourcesource; source.url=”/v1/data?flightId=ABC123”; source.id=”flight-v1-ABC123”; source.topics=std::move(channels.topics); source.schemas=std::move(channels.schemas); source.start_time=”2024-01-01T00:00:00Z”; source.end_time=”2024-01-02T00:00:00Z”;

rdl::Manifestmanifest; manifest.name=”FlightABC123”; manifest.sources={std::move(source)};

std::stringjson_str=rdl::toJsonString(manifest);

Includes

  • base64.hpp

  • cstdint

  • foxglove/schema.hpp (File schema.hpp)

  • nlohmann/json.hpp

  • optional

  • stdexcept

  • string

  • string_view

  • vector

Namespaces

Classes

Functions