[email protected] | b1de2c7 | 2013-02-06 02:45:47 | [diff] [blame] | 1 | // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 | // Use of this source code is governed by a BSD-style license that can be |
| 3 | // found in the LICENSE file. |
| 4 | |
brettw | f00b9b4 | 2016-02-01 22:11:38 | [diff] [blame] | 5 | #include "components/prefs/pref_registry_simple.h" |
[email protected] | b1de2c7 | 2013-02-06 02:45:47 | [diff] [blame] | 6 | |
vabr | 88e50721 | 2017-03-29 13:22:26 | [diff] [blame] | 7 | #include <utility> |
| 8 | |
[email protected] | 5799981 | 2013-02-24 05:40:52 | [diff] [blame] | 9 | #include "base/files/file_path.h" |
[email protected] | d529cb0 | 2013-06-10 19:06:57 | [diff] [blame] | 10 | #include "base/strings/string_number_conversions.h" |
[email protected] | b1de2c7 | 2013-02-06 02:45:47 | [diff] [blame] | 11 | #include "base/values.h" |
| 12 | |
Ilya Sherman | 652030d | 2018-01-22 05:36:11 | [diff] [blame] | 13 | PrefRegistrySimple::PrefRegistrySimple() = default; |
| 14 | PrefRegistrySimple::~PrefRegistrySimple() = default; |
Ilya Sherman | 557b2de7 | 2018-01-18 20:57:17 | [diff] [blame] | 15 | |
raymes | 25fb8e7f | 2015-04-27 01:23:10 | [diff] [blame] | 16 | void PrefRegistrySimple::RegisterBooleanPref(const std::string& path, |
| 17 | bool default_value, |
avi | 9ef8bb0 | 2015-12-24 05:29:36 | [diff] [blame] | 18 | uint32_t flags) { |
Jinho Bang | 84b58bd | 2018-01-01 21:44:48 | [diff] [blame] | 19 | RegisterPreference(path, std::make_unique<base::Value>(default_value), flags); |
raymes | 25fb8e7f | 2015-04-27 01:23:10 | [diff] [blame] | 20 | } |
| 21 | |
| 22 | void PrefRegistrySimple::RegisterIntegerPref(const std::string& path, |
| 23 | int default_value, |
avi | 9ef8bb0 | 2015-12-24 05:29:36 | [diff] [blame] | 24 | uint32_t flags) { |
Jinho Bang | 84b58bd | 2018-01-01 21:44:48 | [diff] [blame] | 25 | RegisterPreference(path, std::make_unique<base::Value>(default_value), flags); |
raymes | 25fb8e7f | 2015-04-27 01:23:10 | [diff] [blame] | 26 | } |
| 27 | |
| 28 | void PrefRegistrySimple::RegisterDoublePref(const std::string& path, |
| 29 | double default_value, |
avi | 9ef8bb0 | 2015-12-24 05:29:36 | [diff] [blame] | 30 | uint32_t flags) { |
Jinho Bang | 84b58bd | 2018-01-01 21:44:48 | [diff] [blame] | 31 | RegisterPreference(path, std::make_unique<base::Value>(default_value), flags); |
raymes | 25fb8e7f | 2015-04-27 01:23:10 | [diff] [blame] | 32 | } |
| 33 | |
| 34 | void PrefRegistrySimple::RegisterStringPref(const std::string& path, |
| 35 | const std::string& default_value, |
avi | 9ef8bb0 | 2015-12-24 05:29:36 | [diff] [blame] | 36 | uint32_t flags) { |
Jinho Bang | 84b58bd | 2018-01-01 21:44:48 | [diff] [blame] | 37 | RegisterPreference(path, std::make_unique<base::Value>(default_value), flags); |
raymes | 25fb8e7f | 2015-04-27 01:23:10 | [diff] [blame] | 38 | } |
| 39 | |
| 40 | void PrefRegistrySimple::RegisterFilePathPref( |
| 41 | const std::string& path, |
| 42 | const base::FilePath& default_value, |
avi | 9ef8bb0 | 2015-12-24 05:29:36 | [diff] [blame] | 43 | uint32_t flags) { |
Jinho Bang | 84b58bd | 2018-01-01 21:44:48 | [diff] [blame] | 44 | RegisterPreference(path, std::make_unique<base::Value>(default_value.value()), |
Sam McNally | 450271f | 2017-10-13 11:47:34 | [diff] [blame] | 45 | flags); |
raymes | 25fb8e7f | 2015-04-27 01:23:10 | [diff] [blame] | 46 | } |
| 47 | |
| 48 | void PrefRegistrySimple::RegisterListPref(const std::string& path, |
avi | 9ef8bb0 | 2015-12-24 05:29:36 | [diff] [blame] | 49 | uint32_t flags) { |
Jinho Bang | 84b58bd | 2018-01-01 21:44:48 | [diff] [blame] | 50 | RegisterPreference(path, std::make_unique<base::ListValue>(), flags); |
raymes | 25fb8e7f | 2015-04-27 01:23:10 | [diff] [blame] | 51 | } |
| 52 | |
vabr | 88e50721 | 2017-03-29 13:22:26 | [diff] [blame] | 53 | void PrefRegistrySimple::RegisterListPref( |
| 54 | const std::string& path, |
| 55 | std::unique_ptr<base::ListValue> default_value, |
| 56 | uint32_t flags) { |
Sam McNally | 450271f | 2017-10-13 11:47:34 | [diff] [blame] | 57 | RegisterPreference(path, std::move(default_value), flags); |
raymes | 25fb8e7f | 2015-04-27 01:23:10 | [diff] [blame] | 58 | } |
| 59 | |
| 60 | void PrefRegistrySimple::RegisterDictionaryPref(const std::string& path, |
avi | 9ef8bb0 | 2015-12-24 05:29:36 | [diff] [blame] | 61 | uint32_t flags) { |
Jinho Bang | 84b58bd | 2018-01-01 21:44:48 | [diff] [blame] | 62 | RegisterPreference(path, std::make_unique<base::DictionaryValue>(), flags); |
raymes | 25fb8e7f | 2015-04-27 01:23:10 | [diff] [blame] | 63 | } |
| 64 | |
| 65 | void PrefRegistrySimple::RegisterDictionaryPref( |
| 66 | const std::string& path, |
vabr | 88e50721 | 2017-03-29 13:22:26 | [diff] [blame] | 67 | std::unique_ptr<base::DictionaryValue> default_value, |
avi | 9ef8bb0 | 2015-12-24 05:29:36 | [diff] [blame] | 68 | uint32_t flags) { |
Sam McNally | 450271f | 2017-10-13 11:47:34 | [diff] [blame] | 69 | RegisterPreference(path, std::move(default_value), flags); |
raymes | 25fb8e7f | 2015-04-27 01:23:10 | [diff] [blame] | 70 | } |
| 71 | |
| 72 | void PrefRegistrySimple::RegisterInt64Pref(const std::string& path, |
avi | 9ef8bb0 | 2015-12-24 05:29:36 | [diff] [blame] | 73 | int64_t default_value, |
| 74 | uint32_t flags) { |
Sam McNally | 450271f | 2017-10-13 11:47:34 | [diff] [blame] | 75 | RegisterPreference( |
Jinho Bang | 84b58bd | 2018-01-01 21:44:48 | [diff] [blame] | 76 | path, std::make_unique<base::Value>(base::Int64ToString(default_value)), |
vabr | 88e50721 | 2017-03-29 13:22:26 | [diff] [blame] | 77 | flags); |
raymes | 25fb8e7f | 2015-04-27 01:23:10 | [diff] [blame] | 78 | } |
| 79 | |
| 80 | void PrefRegistrySimple::RegisterUint64Pref(const std::string& path, |
avi | 9ef8bb0 | 2015-12-24 05:29:36 | [diff] [blame] | 81 | uint64_t default_value, |
| 82 | uint32_t flags) { |
Sam McNally | 450271f | 2017-10-13 11:47:34 | [diff] [blame] | 83 | RegisterPreference( |
Jinho Bang | 84b58bd | 2018-01-01 21:44:48 | [diff] [blame] | 84 | path, std::make_unique<base::Value>(base::NumberToString(default_value)), |
vabr | 88e50721 | 2017-03-29 13:22:26 | [diff] [blame] | 85 | flags); |
raymes | 25fb8e7f | 2015-04-27 01:23:10 | [diff] [blame] | 86 | } |
Ilya Sherman | 557b2de7 | 2018-01-18 20:57:17 | [diff] [blame] | 87 | |
| 88 | void PrefRegistrySimple::RegisterTimePref(const std::string& path, |
| 89 | base::Time default_value, |
| 90 | uint32_t flags) { |
| 91 | RegisterInt64Pref( |
| 92 | path, default_value.ToDeltaSinceWindowsEpoch().InMicroseconds(), flags); |
| 93 | } |