6 #include <unordered_map>
8 #include "../data_sources/data_source_update_sink.hpp"
9 #include "flag_store.hpp"
11 #include <launchdarkly/client_side/flag_change_event.hpp>
12 #include <launchdarkly/client_side/flag_notifier.hpp>
14 #include <boost/signals2.hpp>
16 namespace launchdarkly::client_side::flag_manager {
31 void Init(
Context const& context,
32 std::unordered_map<std::string, ItemDescriptor> data)
override;
33 void Upsert(
Context const& context,
35 ItemDescriptor item)
override;
37 FlagChangeSet change_set,
38 bool from_cache)
override;
48 std::string
const& key,
49 std::function<
void(std::shared_ptr<FlagValueChangeEvent>)> handler)
53 bool HasListeners()
const;
58 boost::signals2::signal<void(std::shared_ptr<FlagValueChangeEvent>)>>
65 mutable std::recursive_mutex signal_mutex_;
Definition: context.hpp:29
Definition: data_source_update_sink.hpp:38
Definition: flag_store.hpp:25
Definition: flag_updater.hpp:28
void Apply(Context const &context, FlagChangeSet change_set, bool from_cache) override
Definition: flag_updater.cpp:46
std::unique_ptr< IConnection > OnFlagChange(std::string const &key, std::function< void(std::shared_ptr< FlagValueChangeEvent >)> handler) override
Definition: flag_updater.cpp:95
Definition: flag_change_event.hpp:10
Definition: flag_notifier.hpp:18