Home | History | Annotate | Download | only in prefs
      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
      3 // found in the LICENSE file.
      4 
      5 #include "chrome/browser/prefs/value_map_pref_store.h"
      6 
      7 #include <algorithm>
      8 
      9 #include "base/stl_util-inl.h"
     10 #include "base/values.h"
     11 
     12 ValueMapPrefStore::ValueMapPrefStore() {}
     13 
     14 ValueMapPrefStore::~ValueMapPrefStore() {}
     15 
     16 PrefStore::ReadResult ValueMapPrefStore::GetValue(const std::string& key,
     17                                                   const Value** value) const {
     18   return prefs_.GetValue(key, value) ? READ_OK : READ_NO_VALUE;
     19 }
     20 
     21 void ValueMapPrefStore::AddObserver(PrefStore::Observer* observer) {
     22   observers_.AddObserver(observer);
     23 }
     24 
     25 void ValueMapPrefStore::RemoveObserver(PrefStore::Observer* observer) {
     26   observers_.RemoveObserver(observer);
     27 }
     28 
     29 void ValueMapPrefStore::SetValue(const std::string& key, Value* value) {
     30   if (prefs_.SetValue(key, value))
     31     FOR_EACH_OBSERVER(Observer, observers_, OnPrefValueChanged(key));
     32 }
     33 
     34 void ValueMapPrefStore::RemoveValue(const std::string& key) {
     35   if (prefs_.RemoveValue(key))
     36     FOR_EACH_OBSERVER(Observer, observers_, OnPrefValueChanged(key));
     37 }
     38 
     39 void ValueMapPrefStore::NotifyInitializationCompleted() {
     40   FOR_EACH_OBSERVER(Observer, observers_, OnInitializationCompleted());
     41 }
     42 
     43 ValueMapPrefStore::iterator ValueMapPrefStore::begin() {
     44   return prefs_.begin();
     45 }
     46 
     47 ValueMapPrefStore::iterator ValueMapPrefStore::end() {
     48   return prefs_.end();
     49 }
     50 
     51 ValueMapPrefStore::const_iterator ValueMapPrefStore::begin() const {
     52   return prefs_.begin();
     53 }
     54 
     55 ValueMapPrefStore::const_iterator ValueMapPrefStore::end() const {
     56   return prefs_.end();
     57 }
     58