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. 16 class 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