File data_provider.hpp

Parent directory (foxglove/include/foxglove)

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

Detailed Description

Types and utilities for building remote data loader manifests.

Use Class 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 data_provider.hpp> #include<foxglove/schemas.hpp>

namespacedp=:ref:namespace_foxglove__data_provider;

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

dp::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”;

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

std::stringjson_str=dp::to_json_string(manifest);

Includes

  • base64.hpp

  • cstdint

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

  • nlohmann/json.hpp

  • optional

  • stdexcept

  • string

  • string_view

  • vector

Namespaces

Classes

Functions