1*6777b538SAndroid Build Coastguard Worker // Copyright 2012 The Chromium Authors
2*6777b538SAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be
3*6777b538SAndroid Build Coastguard Worker // found in the LICENSE file.
4*6777b538SAndroid Build Coastguard Worker
5*6777b538SAndroid Build Coastguard Worker #include "components/prefs/pref_registry_simple.h"
6*6777b538SAndroid Build Coastguard Worker
7*6777b538SAndroid Build Coastguard Worker #include <utility>
8*6777b538SAndroid Build Coastguard Worker
9*6777b538SAndroid Build Coastguard Worker #include "base/files/file_path.h"
10*6777b538SAndroid Build Coastguard Worker #include "base/strings/string_number_conversions.h"
11*6777b538SAndroid Build Coastguard Worker #include "base/strings/string_util.h"
12*6777b538SAndroid Build Coastguard Worker #include "base/values.h"
13*6777b538SAndroid Build Coastguard Worker
14*6777b538SAndroid Build Coastguard Worker PrefRegistrySimple::PrefRegistrySimple() = default;
15*6777b538SAndroid Build Coastguard Worker PrefRegistrySimple::~PrefRegistrySimple() = default;
16*6777b538SAndroid Build Coastguard Worker
RegisterBooleanPref(const std::string & path,bool default_value,uint32_t flags)17*6777b538SAndroid Build Coastguard Worker void PrefRegistrySimple::RegisterBooleanPref(const std::string& path,
18*6777b538SAndroid Build Coastguard Worker bool default_value,
19*6777b538SAndroid Build Coastguard Worker uint32_t flags) {
20*6777b538SAndroid Build Coastguard Worker RegisterPreference(path, base::Value(default_value), flags);
21*6777b538SAndroid Build Coastguard Worker }
22*6777b538SAndroid Build Coastguard Worker
RegisterIntegerPref(const std::string & path,int default_value,uint32_t flags)23*6777b538SAndroid Build Coastguard Worker void PrefRegistrySimple::RegisterIntegerPref(const std::string& path,
24*6777b538SAndroid Build Coastguard Worker int default_value,
25*6777b538SAndroid Build Coastguard Worker uint32_t flags) {
26*6777b538SAndroid Build Coastguard Worker RegisterPreference(path, base::Value(default_value), flags);
27*6777b538SAndroid Build Coastguard Worker }
28*6777b538SAndroid Build Coastguard Worker
RegisterDoublePref(const std::string & path,double default_value,uint32_t flags)29*6777b538SAndroid Build Coastguard Worker void PrefRegistrySimple::RegisterDoublePref(const std::string& path,
30*6777b538SAndroid Build Coastguard Worker double default_value,
31*6777b538SAndroid Build Coastguard Worker uint32_t flags) {
32*6777b538SAndroid Build Coastguard Worker RegisterPreference(path, base::Value(default_value), flags);
33*6777b538SAndroid Build Coastguard Worker }
34*6777b538SAndroid Build Coastguard Worker
RegisterStringPref(const std::string & path,const std::string & default_value,uint32_t flags)35*6777b538SAndroid Build Coastguard Worker void PrefRegistrySimple::RegisterStringPref(const std::string& path,
36*6777b538SAndroid Build Coastguard Worker const std::string& default_value,
37*6777b538SAndroid Build Coastguard Worker uint32_t flags) {
38*6777b538SAndroid Build Coastguard Worker RegisterPreference(path, base::Value(default_value), flags);
39*6777b538SAndroid Build Coastguard Worker }
40*6777b538SAndroid Build Coastguard Worker
RegisterFilePathPref(const std::string & path,const base::FilePath & default_value,uint32_t flags)41*6777b538SAndroid Build Coastguard Worker void PrefRegistrySimple::RegisterFilePathPref(
42*6777b538SAndroid Build Coastguard Worker const std::string& path,
43*6777b538SAndroid Build Coastguard Worker const base::FilePath& default_value,
44*6777b538SAndroid Build Coastguard Worker uint32_t flags) {
45*6777b538SAndroid Build Coastguard Worker RegisterPreference(path, base::Value(default_value.AsUTF8Unsafe()), flags);
46*6777b538SAndroid Build Coastguard Worker }
47*6777b538SAndroid Build Coastguard Worker
RegisterListPref(const std::string & path,uint32_t flags)48*6777b538SAndroid Build Coastguard Worker void PrefRegistrySimple::RegisterListPref(const std::string& path,
49*6777b538SAndroid Build Coastguard Worker uint32_t flags) {
50*6777b538SAndroid Build Coastguard Worker RegisterPreference(path, base::Value(base::Value::Type::LIST), flags);
51*6777b538SAndroid Build Coastguard Worker }
52*6777b538SAndroid Build Coastguard Worker
RegisterListPref(const std::string & path,base::Value::List default_value,uint32_t flags)53*6777b538SAndroid Build Coastguard Worker void PrefRegistrySimple::RegisterListPref(const std::string& path,
54*6777b538SAndroid Build Coastguard Worker base::Value::List default_value,
55*6777b538SAndroid Build Coastguard Worker uint32_t flags) {
56*6777b538SAndroid Build Coastguard Worker RegisterPreference(path, base::Value(std::move(default_value)), flags);
57*6777b538SAndroid Build Coastguard Worker }
58*6777b538SAndroid Build Coastguard Worker
RegisterDictionaryPref(const std::string & path,uint32_t flags)59*6777b538SAndroid Build Coastguard Worker void PrefRegistrySimple::RegisterDictionaryPref(const std::string& path,
60*6777b538SAndroid Build Coastguard Worker uint32_t flags) {
61*6777b538SAndroid Build Coastguard Worker RegisterPreference(path, base::Value(base::Value::Type::DICT), flags);
62*6777b538SAndroid Build Coastguard Worker }
63*6777b538SAndroid Build Coastguard Worker
RegisterDictionaryPref(const std::string & path,base::Value::Dict default_value,uint32_t flags)64*6777b538SAndroid Build Coastguard Worker void PrefRegistrySimple::RegisterDictionaryPref(const std::string& path,
65*6777b538SAndroid Build Coastguard Worker base::Value::Dict default_value,
66*6777b538SAndroid Build Coastguard Worker uint32_t flags) {
67*6777b538SAndroid Build Coastguard Worker RegisterPreference(path, base::Value(std::move(default_value)), flags);
68*6777b538SAndroid Build Coastguard Worker }
69*6777b538SAndroid Build Coastguard Worker
RegisterInt64Pref(const std::string & path,int64_t default_value,uint32_t flags)70*6777b538SAndroid Build Coastguard Worker void PrefRegistrySimple::RegisterInt64Pref(const std::string& path,
71*6777b538SAndroid Build Coastguard Worker int64_t default_value,
72*6777b538SAndroid Build Coastguard Worker uint32_t flags) {
73*6777b538SAndroid Build Coastguard Worker RegisterPreference(path, base::Value(base::NumberToString(default_value)),
74*6777b538SAndroid Build Coastguard Worker flags);
75*6777b538SAndroid Build Coastguard Worker }
76*6777b538SAndroid Build Coastguard Worker
RegisterUint64Pref(const std::string & path,uint64_t default_value,uint32_t flags)77*6777b538SAndroid Build Coastguard Worker void PrefRegistrySimple::RegisterUint64Pref(const std::string& path,
78*6777b538SAndroid Build Coastguard Worker uint64_t default_value,
79*6777b538SAndroid Build Coastguard Worker uint32_t flags) {
80*6777b538SAndroid Build Coastguard Worker RegisterPreference(path, base::Value(base::NumberToString(default_value)),
81*6777b538SAndroid Build Coastguard Worker flags);
82*6777b538SAndroid Build Coastguard Worker }
83*6777b538SAndroid Build Coastguard Worker
RegisterTimePref(const std::string & path,base::Time default_value,uint32_t flags)84*6777b538SAndroid Build Coastguard Worker void PrefRegistrySimple::RegisterTimePref(const std::string& path,
85*6777b538SAndroid Build Coastguard Worker base::Time default_value,
86*6777b538SAndroid Build Coastguard Worker uint32_t flags) {
87*6777b538SAndroid Build Coastguard Worker RegisterInt64Pref(
88*6777b538SAndroid Build Coastguard Worker path, default_value.ToDeltaSinceWindowsEpoch().InMicroseconds(), flags);
89*6777b538SAndroid Build Coastguard Worker }
90*6777b538SAndroid Build Coastguard Worker
RegisterTimeDeltaPref(const std::string & path,base::TimeDelta default_value,uint32_t flags)91*6777b538SAndroid Build Coastguard Worker void PrefRegistrySimple::RegisterTimeDeltaPref(const std::string& path,
92*6777b538SAndroid Build Coastguard Worker base::TimeDelta default_value,
93*6777b538SAndroid Build Coastguard Worker uint32_t flags) {
94*6777b538SAndroid Build Coastguard Worker RegisterInt64Pref(path, default_value.InMicroseconds(), flags);
95*6777b538SAndroid Build Coastguard Worker }
96