• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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