3 #include <launchdarkly/context.hpp>
4 #include <launchdarkly/data/evaluation_detail.hpp>
5 #include <launchdarkly/server_side/config/config.hpp>
6 #include <launchdarkly/server_side/hooks/hook.hpp>
7 #include <launchdarkly/value.hpp>
9 #include <launchdarkly/server_side/all_flags_state.hpp>
10 #include <launchdarkly/server_side/data_source_status.hpp>
16 #include <unordered_map>
18 namespace launchdarkly::server_side {
107 std::string event_name,
109 double metric_value) = 0;
127 std::string event_name,
141 std::string event_name,
157 std::string event_name,
180 std::string event_name,
207 bool default_value) = 0;
236 bool default_value) = 0;
266 std::string default_value) = 0;
282 std::string default_value,
296 std::string default_value) = 0;
313 std::string default_value,
326 double default_value) = 0;
342 double default_value,
356 double default_value) = 0;
373 double default_value,
386 int default_value) = 0;
415 int default_value) = 0;
445 Value default_value) = 0;
475 Value default_value) = 0;
527 std::string event_name,
529 double metric_value)
override;
532 std::string event_name,
540 std::string event_name,
544 void Track(
Context const& ctx, std::string event_name)
override;
547 std::string event_name,
556 bool default_value)
override;
565 bool default_value)
override;
575 std::string default_value)
override;
579 std::string default_value,
585 std::string default_value)
override;
590 std::string default_value,
595 double default_value)
override;
599 double default_value,
605 double default_value)
override;
610 double default_value,
615 int default_value)
override;
624 int default_value)
override;
634 Value default_value)
override;
643 Value default_value)
override;
657 [[nodiscard]]
static char const*
Version();
660 inline static char const*
const kVersion =
662 std::unique_ptr<IClient> client;
Definition: context.hpp:29
Definition: evaluation_detail.hpp:18
Definition: all_flags_state.hpp:27
Options
Definition: all_flags_state.hpp:29
Definition: client.hpp:512
EvaluationDetail< int > IntVariationDetail(Context const &ctx, FlagKey const &key, int default_value) override
Definition: client.cpp:186
bool Initialized() const override
Definition: client.cpp:28
EvaluationDetail< bool > BoolVariationDetail(Context const &ctx, FlagKey const &key, bool default_value) override
Definition: client.cpp:101
void FlushAsync() override
Definition: client.cpp:80
std::future< bool > StartAsync() override
Definition: client.cpp:32
bool BoolVariation(Context const &ctx, FlagKey const &key, bool default_value) override
Definition: client.cpp:88
IDataSourceStatusProvider & DataSourceStatus() override
Definition: client.cpp:229
std::string StringVariation(Context const &ctx, FlagKey const &key, std::string default_value) override
Definition: client.cpp:115
Value JsonVariation(Context const &ctx, FlagKey const &key, Value default_value) override
Definition: client.cpp:200
double DoubleVariation(Context const &ctx, FlagKey const &key, double default_value) override
Definition: client.cpp:145
void Identify(Context context) override
Definition: client.cpp:84
EvaluationDetail< std::string > StringVariationDetail(Context const &ctx, FlagKey const &key, std::string default_value) override
Definition: client.cpp:129
EvaluationDetail< double > DoubleVariationDetail(Context const &ctx, FlagKey const &key, double default_value) override
Definition: client.cpp:158
void Track(Context const &ctx, std::string event_name, Value data, double metric_value) override
Definition: client.cpp:43
EvaluationDetail< Value > JsonVariationDetail(Context const &ctx, FlagKey const &key, Value default_value) override
Definition: client.cpp:214
static char const * Version()
Definition: client.cpp:233
int IntVariation(Context const &ctx, FlagKey const &key, int default_value) override
Definition: client.cpp:173
Definition: client.hpp:22
virtual IDataSourceStatusProvider & DataSourceStatus()=0
virtual void Track(Context const &ctx, std::string event_name, Value data, double metric_value, hooks::HookContext const &hook_context)=0
virtual EvaluationDetail< std::string > StringVariationDetail(Context const &ctx, FlagKey const &key, std::string default_value)=0
virtual double DoubleVariation(Context const &ctx, FlagKey const &key, double default_value, hooks::HookContext const &hook_context)=0
virtual EvaluationDetail< double > DoubleVariationDetail(Context const &ctx, FlagKey const &key, double default_value, hooks::HookContext const &hook_context)=0
virtual void FlushAsync()=0
virtual std::string StringVariation(Context const &ctx, FlagKey const &key, std::string default_value, hooks::HookContext const &hook_context)=0
virtual std::string StringVariation(Context const &ctx, FlagKey const &key, std::string default_value)=0
virtual void Track(Context const &ctx, std::string event_name, Value data, hooks::HookContext const &hook_context)=0
std::string FlagKey
Definition: client.hpp:27
virtual bool BoolVariation(Context const &ctx, FlagKey const &key, bool default_value)=0
virtual void Track(Context const &ctx, std::string event_name, hooks::HookContext const &hook_context)=0
virtual Value JsonVariation(Context const &ctx, FlagKey const &key, Value default_value)=0
virtual void Track(Context const &ctx, std::string event_name, Value data, double metric_value)=0
virtual EvaluationDetail< int > IntVariationDetail(Context const &ctx, FlagKey const &key, int default_value)=0
virtual EvaluationDetail< int > IntVariationDetail(Context const &ctx, FlagKey const &key, int default_value, hooks::HookContext const &hook_context)=0
virtual void Track(Context const &ctx, std::string event_name, Value data)=0
virtual EvaluationDetail< bool > BoolVariationDetail(Context const &ctx, FlagKey const &key, bool default_value, hooks::HookContext const &hook_context)=0
virtual std::future< bool > StartAsync()=0
virtual int IntVariation(Context const &ctx, FlagKey const &key, int default_value, hooks::HookContext const &hook_context)=0
virtual void Track(Context const &ctx, std::string event_name)=0
virtual int IntVariation(Context const &ctx, FlagKey const &key, int default_value)=0
virtual Value JsonVariation(Context const &ctx, FlagKey const &key, Value default_value, hooks::HookContext const &hook_context)=0
virtual EvaluationDetail< Value > JsonVariationDetail(Context const &ctx, FlagKey const &key, Value default_value, hooks::HookContext const &hook_context)=0
virtual bool BoolVariation(Context const &ctx, FlagKey const &key, bool default_value, hooks::HookContext const &hook_context)=0
virtual EvaluationDetail< double > DoubleVariationDetail(Context const &ctx, FlagKey const &key, double default_value)=0
virtual bool Initialized() const =0
virtual void Identify(Context context)=0
virtual EvaluationDetail< std::string > StringVariationDetail(Context const &ctx, FlagKey const &key, std::string default_value, hooks::HookContext const &hook_context)=0
virtual EvaluationDetail< bool > BoolVariationDetail(Context const &ctx, FlagKey const &key, bool default_value)=0
virtual double DoubleVariation(Context const &ctx, FlagKey const &key, double default_value)=0
virtual EvaluationDetail< Value > JsonVariationDetail(Context const &ctx, FlagKey const &key, Value default_value)=0
Definition: data_source_status.hpp:69
Definition: config.hpp:12