[email protected] | 2dea5c0 | 2012-04-25 07:01:07 | [diff] [blame] | 1 | // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
[email protected] | 9a8c402 | 2011-01-25 14:25:33 | [diff] [blame] | 2 | // Use of this source code is governed by a BSD-style license that can be |
3 | // found in the LICENSE file. | ||||
4 | |||||
[email protected] | 03b9b4e | 2012-10-22 20:01:52 | [diff] [blame] | 5 | #include "base/prefs/default_pref_store.h" |
[email protected] | 307cbf2 | 2012-11-07 18:06:02 | [diff] [blame] | 6 | #include "base/logging.h" |
[email protected] | 9a8c402 | 2011-01-25 14:25:33 | [diff] [blame] | 7 | |
[email protected] | bab1c13f | 2011-08-12 20:59:02 | [diff] [blame] | 8 | using base::Value; |
9 | |||||
[email protected] | 9a8c402 | 2011-01-25 14:25:33 | [diff] [blame] | 10 | DefaultPrefStore::DefaultPrefStore() {} |
11 | |||||
[email protected] | 892f1d6 | 2012-11-08 18:24:34 | [diff] [blame^] | 12 | bool DefaultPrefStore::GetValue( |
[email protected] | 307cbf2 | 2012-11-07 18:06:02 | [diff] [blame] | 13 | const std::string& key, |
14 | const base::Value** result) const { | ||||
[email protected] | 892f1d6 | 2012-11-08 18:24:34 | [diff] [blame^] | 15 | return prefs_.GetValue(key, result); |
[email protected] | 307cbf2 | 2012-11-07 18:06:02 | [diff] [blame] | 16 | } |
17 | |||||
[email protected] | 9a8c402 | 2011-01-25 14:25:33 | [diff] [blame] | 18 | void DefaultPrefStore::SetDefaultValue(const std::string& key, Value* value) { |
[email protected] | 892f1d6 | 2012-11-08 18:24:34 | [diff] [blame^] | 19 | DCHECK(!GetValue(key, NULL)); |
[email protected] | 307cbf2 | 2012-11-07 18:06:02 | [diff] [blame] | 20 | prefs_.SetValue(key, value); |
[email protected] | 9a8c402 | 2011-01-25 14:25:33 | [diff] [blame] | 21 | } |
22 | |||||
[email protected] | 7a5f593 | 2011-12-29 10:35:49 | [diff] [blame] | 23 | void DefaultPrefStore::RemoveDefaultValue(const std::string& key) { |
[email protected] | 892f1d6 | 2012-11-08 18:24:34 | [diff] [blame^] | 24 | DCHECK(GetValue(key, NULL)); |
[email protected] | 307cbf2 | 2012-11-07 18:06:02 | [diff] [blame] | 25 | prefs_.RemoveValue(key); |
[email protected] | 7a5f593 | 2011-12-29 10:35:49 | [diff] [blame] | 26 | } |
27 | |||||
[email protected] | bab1c13f | 2011-08-12 20:59:02 | [diff] [blame] | 28 | base::Value::Type DefaultPrefStore::GetType(const std::string& key) const { |
[email protected] | 892f1d6 | 2012-11-08 18:24:34 | [diff] [blame^] | 29 | const Value* value = NULL; |
30 | return GetValue(key, &value) ? value->GetType() : Value::TYPE_NULL; | ||||
[email protected] | 9a8c402 | 2011-01-25 14:25:33 | [diff] [blame] | 31 | } |
[email protected] | 2dea5c0 | 2012-04-25 07:01:07 | [diff] [blame] | 32 | |
[email protected] | 307cbf2 | 2012-11-07 18:06:02 | [diff] [blame] | 33 | DefaultPrefStore::const_iterator DefaultPrefStore::begin() const { |
34 | return prefs_.begin(); | ||||
35 | } | ||||
36 | |||||
37 | DefaultPrefStore::const_iterator DefaultPrefStore::end() const { | ||||
38 | return prefs_.end(); | ||||
39 | } | ||||
40 | |||||
[email protected] | 2dea5c0 | 2012-04-25 07:01:07 | [diff] [blame] | 41 | DefaultPrefStore::~DefaultPrefStore() {} |