| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/service/service_process_prefs.h" | 5 #include "chrome/service/service_process_prefs.h" |
| 6 | 6 |
| 7 #include <utility> | 7 #include <utility> |
| 8 | 8 |
| 9 #include "base/memory/ptr_util.h" |
| 9 #include "base/thread_task_runner_handle.h" | 10 #include "base/thread_task_runner_handle.h" |
| 10 #include "base/values.h" | 11 #include "base/values.h" |
| 11 #include "components/prefs/pref_filter.h" | 12 #include "components/prefs/pref_filter.h" |
| 12 | 13 |
| 13 ServiceProcessPrefs::ServiceProcessPrefs( | 14 ServiceProcessPrefs::ServiceProcessPrefs(const base::FilePath& pref_filename, |
| 14 const base::FilePath& pref_filename, | 15 base::SequencedTaskRunner* task_runner) |
| 15 base::SequencedTaskRunner* task_runner) | |
| 16 : prefs_(new JsonPrefStore(pref_filename, | 16 : prefs_(new JsonPrefStore(pref_filename, |
| 17 task_runner, | 17 task_runner, |
| 18 scoped_ptr<PrefFilter>())) { | 18 std::unique_ptr<PrefFilter>())) {} |
| 19 } | |
| 20 | 19 |
| 21 ServiceProcessPrefs::~ServiceProcessPrefs() {} | 20 ServiceProcessPrefs::~ServiceProcessPrefs() {} |
| 22 | 21 |
| 23 void ServiceProcessPrefs::ReadPrefs() { | 22 void ServiceProcessPrefs::ReadPrefs() { |
| 24 prefs_->ReadPrefs(); | 23 prefs_->ReadPrefs(); |
| 25 } | 24 } |
| 26 | 25 |
| 27 void ServiceProcessPrefs::WritePrefs() { | 26 void ServiceProcessPrefs::WritePrefs() { |
| 28 prefs_->CommitPendingWrite(); | 27 prefs_->CommitPendingWrite(); |
| 29 } | 28 } |
| 30 | 29 |
| 31 std::string ServiceProcessPrefs::GetString( | 30 std::string ServiceProcessPrefs::GetString( |
| 32 const std::string& key, | 31 const std::string& key, |
| 33 const std::string& default_value) const { | 32 const std::string& default_value) const { |
| 34 const base::Value* value; | 33 const base::Value* value; |
| 35 std::string result; | 34 std::string result; |
| 36 if (!prefs_->GetValue(key, &value) || !value->GetAsString(&result)) | 35 if (!prefs_->GetValue(key, &value) || !value->GetAsString(&result)) |
| 37 return default_value; | 36 return default_value; |
| 38 | 37 |
| 39 return result; | 38 return result; |
| 40 } | 39 } |
| 41 | 40 |
| 42 void ServiceProcessPrefs::SetString(const std::string& key, | 41 void ServiceProcessPrefs::SetString(const std::string& key, |
| 43 const std::string& value) { | 42 const std::string& value) { |
| 44 prefs_->SetValue(key, make_scoped_ptr(new base::StringValue(value)), | 43 prefs_->SetValue(key, base::WrapUnique(new base::StringValue(value)), |
| 45 WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS); | 44 WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS); |
| 46 } | 45 } |
| 47 | 46 |
| 48 bool ServiceProcessPrefs::GetBoolean(const std::string& key, | 47 bool ServiceProcessPrefs::GetBoolean(const std::string& key, |
| 49 bool default_value) const { | 48 bool default_value) const { |
| 50 const base::Value* value; | 49 const base::Value* value; |
| 51 bool result = false; | 50 bool result = false; |
| 52 if (!prefs_->GetValue(key, &value) || !value->GetAsBoolean(&result)) | 51 if (!prefs_->GetValue(key, &value) || !value->GetAsBoolean(&result)) |
| 53 return default_value; | 52 return default_value; |
| 54 | 53 |
| 55 return result; | 54 return result; |
| 56 } | 55 } |
| 57 | 56 |
| 58 void ServiceProcessPrefs::SetBoolean(const std::string& key, bool value) { | 57 void ServiceProcessPrefs::SetBoolean(const std::string& key, bool value) { |
| 59 prefs_->SetValue(key, make_scoped_ptr(new base::FundamentalValue(value)), | 58 prefs_->SetValue(key, base::WrapUnique(new base::FundamentalValue(value)), |
| 60 WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS); | 59 WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS); |
| 61 } | 60 } |
| 62 | 61 |
| 63 int ServiceProcessPrefs::GetInt(const std::string& key, | 62 int ServiceProcessPrefs::GetInt(const std::string& key, |
| 64 int default_value) const { | 63 int default_value) const { |
| 65 const base::Value* value; | 64 const base::Value* value; |
| 66 int result = default_value; | 65 int result = default_value; |
| 67 if (!prefs_->GetValue(key, &value) || !value->GetAsInteger(&result)) | 66 if (!prefs_->GetValue(key, &value) || !value->GetAsInteger(&result)) |
| 68 return default_value; | 67 return default_value; |
| 69 | 68 |
| 70 return result; | 69 return result; |
| 71 } | 70 } |
| 72 | 71 |
| 73 void ServiceProcessPrefs::SetInt(const std::string& key, int value) { | 72 void ServiceProcessPrefs::SetInt(const std::string& key, int value) { |
| 74 prefs_->SetValue(key, make_scoped_ptr(new base::FundamentalValue(value)), | 73 prefs_->SetValue(key, base::WrapUnique(new base::FundamentalValue(value)), |
| 75 WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS); | 74 WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS); |
| 76 } | 75 } |
| 77 | 76 |
| 78 const base::DictionaryValue* ServiceProcessPrefs::GetDictionary( | 77 const base::DictionaryValue* ServiceProcessPrefs::GetDictionary( |
| 79 const std::string& key) const { | 78 const std::string& key) const { |
| 80 const base::Value* value; | 79 const base::Value* value; |
| 81 if (!prefs_->GetValue(key, &value) || | 80 if (!prefs_->GetValue(key, &value) || |
| 82 !value->IsType(base::Value::TYPE_DICTIONARY)) { | 81 !value->IsType(base::Value::TYPE_DICTIONARY)) { |
| 83 return NULL; | 82 return NULL; |
| 84 } | 83 } |
| 85 | 84 |
| 86 return static_cast<const base::DictionaryValue*>(value); | 85 return static_cast<const base::DictionaryValue*>(value); |
| 87 } | 86 } |
| 88 | 87 |
| 89 const base::ListValue* ServiceProcessPrefs::GetList( | 88 const base::ListValue* ServiceProcessPrefs::GetList( |
| 90 const std::string& key) const { | 89 const std::string& key) const { |
| 91 const base::Value* value; | 90 const base::Value* value; |
| 92 if (!prefs_->GetValue(key, &value) || !value->IsType(base::Value::TYPE_LIST)) | 91 if (!prefs_->GetValue(key, &value) || !value->IsType(base::Value::TYPE_LIST)) |
| 93 return NULL; | 92 return NULL; |
| 94 | 93 |
| 95 return static_cast<const base::ListValue*>(value); | 94 return static_cast<const base::ListValue*>(value); |
| 96 } | 95 } |
| 97 | 96 |
| 98 void ServiceProcessPrefs::SetValue(const std::string& key, | 97 void ServiceProcessPrefs::SetValue(const std::string& key, |
| 99 scoped_ptr<base::Value> value) { | 98 std::unique_ptr<base::Value> value) { |
| 100 prefs_->SetValue(key, std::move(value), | 99 prefs_->SetValue(key, std::move(value), |
| 101 WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS); | 100 WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS); |
| 102 } | 101 } |
| 103 | 102 |
| 104 void ServiceProcessPrefs::RemovePref(const std::string& key) { | 103 void ServiceProcessPrefs::RemovePref(const std::string& key) { |
| 105 prefs_->RemoveValue(key, WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS); | 104 prefs_->RemoveValue(key, WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS); |
| 106 } | 105 } |
| 107 | 106 |
| OLD | NEW |