C++ Server-Side SDK
LaunchDarkly SDK
idestination.hpp
1 #pragma once
2 
3 #include <launchdarkly/data_model/descriptors.hpp>
4 #include <launchdarkly/data_model/sdk_data_set.hpp>
5 
6 #include <string>
7 
8 namespace launchdarkly::server_side::data_interfaces {
9 
14 class IDestination {
15  public:
20  virtual void Init(data_model::SDKDataSet data_set) = 0;
21 
27  virtual void Upsert(std::string const& key,
28  data_model::FlagDescriptor flag) = 0;
29 
35  virtual void Upsert(std::string const& key,
36  data_model::SegmentDescriptor segment) = 0;
37 
41  [[nodiscard]] virtual std::string const& Identity() const = 0;
42 
43  IDestination(IDestination const& item) = delete;
44  IDestination(IDestination&& item) = delete;
45  IDestination& operator=(IDestination const&) = delete;
46  IDestination& operator=(IDestination&&) = delete;
47  virtual ~IDestination() = default;
48 
49  protected:
50  IDestination() = default;
51 };
52 } // namespace launchdarkly::server_side::data_interfaces
IDestination represents a sink for data received by the SDK. A destination may be a database,...
Definition: idestination.hpp:14
virtual std::string const & Identity() const =0
virtual void Init(data_model::SDKDataSet data_set)=0
Initialize the destination with a base set of data.
virtual void Upsert(std::string const &key, data_model::FlagDescriptor flag)=0
Upsert a flag named by key.
virtual void Upsert(std::string const &key, data_model::SegmentDescriptor segment)=0
Upsert a segment named by key.