C++ Server-Side SDK
LaunchDarkly SDK
config.hpp
1 #pragma once
2 
3 #include <launchdarkly/server_side/config/built/all_built.hpp>
4 #include <launchdarkly/server_side/config/built/data_system/data_system_config.hpp>
5 #include <launchdarkly/server_side/hooks/hook.hpp>
6 
7 #include <memory>
8 #include <vector>
9 
10 namespace launchdarkly::server_side {
11 
12 struct Config {
13  public:
14  Config(std::string sdk_key,
15  config::built::Logging logging,
17  config::built::Events events,
18  std::optional<std::string> application_tag,
19  config::built::DataSystemConfig data_system_config,
20  config::built::HttpProperties http_properties,
21  std::vector<std::shared_ptr<hooks::Hook>> hooks);
22 
23  [[nodiscard]] std::string const& SdkKey() const;
24 
25  [[nodiscard]] config::built::ServiceEndpoints const& ServiceEndpoints()
26  const;
27 
28  [[nodiscard]] config::built::Events const& Events() const;
29 
30  [[nodiscard]] std::optional<std::string> const& ApplicationTag() const;
31 
32  config::built::DataSystemConfig const& DataSystemConfig() const;
33 
34  [[nodiscard]] config::built::HttpProperties const& HttpProperties() const;
35 
36  [[nodiscard]] config::built::Logging const& Logging() const;
37 
38  [[nodiscard]] std::vector<std::shared_ptr<hooks::Hook>> const& Hooks()
39  const;
40 
41  private:
42  std::string sdk_key_;
43  bool offline_;
44  config::built::Logging logging_;
45  config::built::ServiceEndpoints service_endpoints_;
46  std::optional<std::string> application_tag_;
47  config::built::Events events_;
48  config::built::DataSystemConfig data_system_config_;
49  config::built::HttpProperties http_properties_;
50  std::vector<std::shared_ptr<hooks::Hook>> hooks_;
51 };
52 } // namespace launchdarkly::server_side
Definition: http_properties.hpp:70
Definition: service_endpoints.hpp:11
Definition: config.hpp:12