C++ Server-Side SDK
LaunchDarkly SDK
data_system_builder.hpp
1 #pragma once
2 
3 #include <launchdarkly/server_side/config/builders/data_system/background_sync_builder.hpp>
4 #include <launchdarkly/server_side/config/builders/data_system/fdv2_builder.hpp>
5 #include <launchdarkly/server_side/config/builders/data_system/lazy_load_builder.hpp>
6 #include <launchdarkly/server_side/config/built/data_system/data_system_config.hpp>
7 
8 #include <launchdarkly/error.hpp>
9 
10 namespace launchdarkly::server_side::config::builders {
11 
13  public:
16  using LazyLoad = LazyLoadBuilder;
17  using FDv2 = FDv2Builder;
18 
24 
31  DataSystemBuilder& Enabled(bool enabled);
32 
41 
49  DataSystemBuilder& Method(LazyLoad lazy_load);
50 
59 
60  [[nodiscard]] tl::expected<built::DataSystemConfig, Error> Build() const;
61 
62  private:
63  std::optional<std::variant<BackgroundSync, LazyLoad, FDv2>> method_builder_;
65 };
66 
67 } // namespace launchdarkly::server_side::config::builders
DataSystemBuilder & Enabled(bool enabled)
Specifies if the data system is enabled or disabled. If disabled, the configured method won't be used...
Definition: data_system_builder.cpp:24
DataSystemBuilder & Method(BackgroundSync bg_sync)
Configures the Background Sync data system. In this system, the SDK periodically receives updates fro...
Definition: data_system_builder.cpp:9
DataSystemBuilder & Disable()
Alias for Enabled(false).
Definition: data_system_builder.cpp:29
LazyLoadBuilder allows for specifying the configuration of the Lazy Load data system,...
Definition: lazy_load_builder.hpp:27