C++ Client-Side SDK
LaunchDarkly SDK
flag_manager.hpp
1 #pragma once
2 
3 #include "flag_persistence.hpp"
4 #include "flag_store.hpp"
5 #include "flag_updater.hpp"
6 
7 #include <launchdarkly/context.hpp>
8 
9 namespace launchdarkly::client_side::flag_manager {
10 
11 class FlagManager {
12  public:
13  FlagManager(std::string const& sdk_key,
14  Logger& logger,
15  std::size_t max_cached_contexts,
16  std::shared_ptr<IPersistence> persistence);
17  IDataSourceUpdateSink& Updater();
18  IFlagNotifier& Notifier();
19  FlagStore const& Store() const;
20 
21  void LoadCache(Context const& context);
22 
23  private:
24  FlagStore flag_store_;
25  FlagUpdater flag_updater_;
26  FlagPersistence persistence_updater_;
27 };
28 
29 } // namespace launchdarkly::client_side::flag_manager
Definition: context.hpp:29
Definition: data_source_update_sink.hpp:21