#include "components/prefs/pref_member.h"
#include <utility>
#include "base/functional/callback.h"
#include "base/functional/callback_helpers.h"
#include "base/json/values_util.h"
#include "base/location.h"
#include "base/task/sequenced_task_runner.h"
#include "base/values.h"
#include "components/prefs/pref_service.h"
SequencedTaskRunner;
namespace subtle {
PrefMemberBase::PrefMemberBase() : … { … }
PrefMemberBase::~PrefMemberBase() { … }
void PrefMemberBase::Init(const std::string& pref_name,
PrefService* prefs,
const NamedChangeCallback& observer) { … }
void PrefMemberBase::Init(const std::string& pref_name, PrefService* prefs) { … }
void PrefMemberBase::Destroy() { … }
void PrefMemberBase::MoveToSequence(
scoped_refptr<SequencedTaskRunner> task_runner) { … }
void PrefMemberBase::OnPreferenceChanged(PrefService* service,
std::string_view pref_name) { … }
void PrefMemberBase::UpdateValueFromPref(base::OnceClosure callback) const { … }
void PrefMemberBase::VerifyPref() const { … }
void PrefMemberBase::InvokeUnnamedCallback(
const base::RepeatingClosure& callback,
const std::string& pref_name) { … }
PrefMemberBase::Internal::Internal()
: … { … }
PrefMemberBase::Internal::~Internal() = default;
bool PrefMemberBase::Internal::IsOnCorrectSequence() const { … }
void PrefMemberBase::Internal::UpdateValue(base::Value* v,
bool is_managed,
bool is_user_modifiable,
bool is_default_value,
base::OnceClosure callback) const { … }
void PrefMemberBase::Internal::MoveToSequence(
scoped_refptr<SequencedTaskRunner> task_runner) { … }
bool PrefMemberVectorStringUpdate(const base::Value& value,
std::vector<std::string>* string_vector) { … }
}
template <>
void PrefMember<bool>::UpdatePref(const bool& value) { … }
template <>
bool PrefMember<bool>::Internal::UpdateValueInternal(
const base::Value& value) const { … }
template <>
void PrefMember<int>::UpdatePref(const int& value) { … }
template <>
bool PrefMember<int>::Internal::UpdateValueInternal(
const base::Value& value) const { … }
template <>
void PrefMember<double>::UpdatePref(const double& value) { … }
template <>
bool PrefMember<double>::Internal::UpdateValueInternal(const base::Value& value)
const { … }
template <>
void PrefMember<std::string>::UpdatePref(const std::string& value) { … }
template <>
bool PrefMember<std::string>::Internal::UpdateValueInternal(
const base::Value& value)
const { … }
template <>
void PrefMember<base::FilePath>::UpdatePref(const base::FilePath& value) { … }
template <>
bool PrefMember<base::FilePath>::Internal::UpdateValueInternal(
const base::Value& value)
const { … }
template <>
void PrefMember<std::vector<std::string> >::UpdatePref(
const std::vector<std::string>& value) { … }
template <>
bool PrefMember<std::vector<std::string> >::Internal::UpdateValueInternal(
const base::Value& value) const { … }