value_map_pref_store.cc revision ddb351dbec246cf1fab5ec20d2d5520909041de1
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 12ValueMapPrefStore::ValueMapPrefStore() {} 13 14ValueMapPrefStore::~ValueMapPrefStore() {} 15 16PrefStore::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 21void ValueMapPrefStore::AddObserver(PrefStore::Observer* observer) { 22 observers_.AddObserver(observer); 23} 24 25void ValueMapPrefStore::RemoveObserver(PrefStore::Observer* observer) { 26 observers_.RemoveObserver(observer); 27} 28 29void ValueMapPrefStore::SetValue(const std::string& key, Value* value) { 30 if (prefs_.SetValue(key, value)) 31 FOR_EACH_OBSERVER(Observer, observers_, OnPrefValueChanged(key)); 32} 33 34void ValueMapPrefStore::RemoveValue(const std::string& key) { 35 if (prefs_.RemoveValue(key)) 36 FOR_EACH_OBSERVER(Observer, observers_, OnPrefValueChanged(key)); 37} 38 39void ValueMapPrefStore::NotifyInitializationCompleted() { 40 FOR_EACH_OBSERVER(Observer, observers_, OnInitializationCompleted()); 41} 42 43ValueMapPrefStore::iterator ValueMapPrefStore::begin() { 44 return prefs_.begin(); 45} 46 47ValueMapPrefStore::iterator ValueMapPrefStore::end() { 48 return prefs_.end(); 49} 50 51ValueMapPrefStore::const_iterator ValueMapPrefStore::begin() const { 52 return prefs_.begin(); 53} 54 55ValueMapPrefStore::const_iterator ValueMapPrefStore::end() const { 56 return prefs_.end(); 57} 58