blob: 8e2644cc719125741d98023d45e816278318c9ec [file] [log] [blame]
// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "base/prefs/default_pref_store.h"
#include "base/logging.h"
using base::Value;
DefaultPrefStore::DefaultPrefStore() {}
bool DefaultPrefStore::GetValue(
const std::string& key,
const base::Value** result) const {
return prefs_.GetValue(key, result);
}
void DefaultPrefStore::SetDefaultValue(const std::string& key, Value* value) {
DCHECK(!GetValue(key, NULL));
prefs_.SetValue(key, value);
}
void DefaultPrefStore::RemoveDefaultValue(const std::string& key) {
DCHECK(GetValue(key, NULL));
prefs_.RemoveValue(key);
}
base::Value::Type DefaultPrefStore::GetType(const std::string& key) const {
const Value* value = NULL;
return GetValue(key, &value) ? value->GetType() : Value::TYPE_NULL;
}
DefaultPrefStore::const_iterator DefaultPrefStore::begin() const {
return prefs_.begin();
}
DefaultPrefStore::const_iterator DefaultPrefStore::end() const {
return prefs_.end();
}
DefaultPrefStore::~DefaultPrefStore() {}