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#ifndef CHROME_BROWSER_PREFS_DEFAULT_PREF_STORE_H_ 6#define CHROME_BROWSER_PREFS_DEFAULT_PREF_STORE_H_ 7#pragma once 8 9#include <string> 10 11#include "base/values.h" 12#include "chrome/browser/prefs/value_map_pref_store.h" 13 14// This PrefStore keeps track of default preference values set when a 15// preference is registered with the PrefService. 16class DefaultPrefStore : public ValueMapPrefStore { 17 public: 18 DefaultPrefStore(); 19 virtual ~DefaultPrefStore(); 20 21 // Stores a new |value| for |key|. Assumes ownership of |value|. 22 void SetDefaultValue(const std::string& key, Value* value); 23 24 // Returns the registered type for |key| or Value::TYPE_NULL if the |key| 25 // has not been registered. 26 Value::ValueType GetType(const std::string& key) const; 27 28 private: 29 DISALLOW_COPY_AND_ASSIGN(DefaultPrefStore); 30}; 31 32#endif // CHROME_BROWSER_PREFS_DEFAULT_PREF_STORE_H_ 33