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