.. _file_foxglove_include_foxglove_data_provider.hpp: File data_provider.hpp ====================== |exhale_lsh| :ref:`Parent directory ` (``foxglove/include/foxglove``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS Definition (``foxglove/include/foxglove/data_provider.hpp``) ------------------------------------------------------------ .. toctree:: :maxdepth: 1 program_listing_file_foxglove_include_foxglove_data_provider.hpp.rst Detailed Description -------------------- Types and utilities for building remote data loader manifests. Use :ref:`exhale_class_classfoxglove_1_1data__provider_1_1ChannelSet` to declare channels, then construct a :ref:`exhale_struct_structfoxglove_1_1data__provider_1_1StreamedSource` with the resulting topics and schemas. This header requires nlohmann/json and tobiaslocker/base64 to be available on the include path. Example #include<:ref:`file_foxglove_include_foxglove_data_provider.hpp`> #include namespacedp=:ref:`namespace_foxglove__data_provider`; dp::ChannelSetchannels; channels.insert<:ref:`exhale_struct_structfoxglove_1_1schemas_1_1Vector3`>("/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`` (:ref:`file_foxglove_include_foxglove_schema.hpp`) - ``nlohmann/json.hpp`` - ``optional`` - ``stdexcept`` - ``string`` - ``string_view`` - ``vector`` Namespaces ---------- - :ref:`namespace_foxglove` - :ref:`namespace_foxglove__data_provider` Classes ------- - :ref:`exhale_struct_structfoxglove_1_1data__provider_1_1Manifest` - :ref:`exhale_struct_structfoxglove_1_1data__provider_1_1Schema` - :ref:`exhale_struct_structfoxglove_1_1data__provider_1_1StreamedSource` - :ref:`exhale_struct_structfoxglove_1_1data__provider_1_1Topic` - :ref:`exhale_class_classfoxglove_1_1data__provider_1_1ChannelSet` Functions --------- - :ref:`exhale_function_namespacefoxglove_1_1data__provider_1adc7a7b551d1d7504869b9a50c61280ac`