#include "components/metrics/structured/key_data_prefs_delegate.h"
#include <optional>
#include <string_view>
#include <utility>
#include "base/check.h"
#include "base/logging.h"
#include "base/values.h"
#include "components/metrics/structured/lib/key_data.h"
#include "components/metrics/structured/lib/key_util.h"
#include "components/metrics/structured/lib/proto/key.pb.h"
#include "components/metrics/structured/project_validator.h"
#include "components/metrics/structured/structured_metrics_validator.h"
#include "components/prefs/scoped_user_pref_update.h"
namespace metrics::structured {
KeyDataPrefsDelegate::KeyDataPrefsDelegate(PrefService* local_state,
std::string_view pref_name)
: … { … }
KeyDataPrefsDelegate::~KeyDataPrefsDelegate() = default;
bool KeyDataPrefsDelegate::IsReady() const { … }
const KeyProto* KeyDataPrefsDelegate::GetKey(uint64_t project_name_hash) const { … }
void KeyDataPrefsDelegate::UpsertKey(uint64_t project_name_hash,
base::TimeDelta last_key_rotation,
base::TimeDelta key_rotation_period) { … }
void KeyDataPrefsDelegate::Purge() { … }
void KeyDataPrefsDelegate::LoadKeysFromPrefs() { … }
void KeyDataPrefsDelegate::UpdatePrefsByProject(uint64_t project_name_hash,
const KeyProto& key_proto) { … }
}