1 // Copyright (c) 2012 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 BASE_PREFS_PREF_REGISTRY_SIMPLE_H_ 6 #define BASE_PREFS_PREF_REGISTRY_SIMPLE_H_ 7 8 #include <string> 9 10 #include "base/prefs/base_prefs_export.h" 11 #include "base/prefs/pref_registry.h" 12 13 namespace base { 14 class DictionaryValue; 15 class FilePath; 16 class ListValue; 17 } 18 19 // A simple implementation of PrefRegistry. 20 class BASE_PREFS_EXPORT PrefRegistrySimple : public PrefRegistry { 21 public: 22 PrefRegistrySimple(); 23 24 void RegisterBooleanPref(const char* path, bool default_value); 25 void RegisterIntegerPref(const char* path, int default_value); 26 void RegisterDoublePref(const char* path, double default_value); 27 void RegisterStringPref(const char* path, const std::string& default_value); 28 void RegisterFilePathPref(const char* path, 29 const base::FilePath& default_value); 30 void RegisterListPref(const char* path); 31 void RegisterDictionaryPref(const char* path); 32 void RegisterListPref(const char* path, base::ListValue* default_value); 33 void RegisterDictionaryPref(const char* path, 34 base::DictionaryValue* default_value); 35 void RegisterInt64Pref(const char* path, 36 int64 default_value); 37 38 private: 39 virtual ~PrefRegistrySimple(); 40 41 DISALLOW_COPY_AND_ASSIGN(PrefRegistrySimple); 42 }; 43 44 #endif // BASE_PREFS_PREF_REGISTRY_SIMPLE_H_ 45