1*6777b538SAndroid Build Coastguard Worker // Copyright 2012 The Chromium Authors 2*6777b538SAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be 3*6777b538SAndroid Build Coastguard Worker // found in the LICENSE file. 4*6777b538SAndroid Build Coastguard Worker 5*6777b538SAndroid Build Coastguard Worker #ifndef COMPONENTS_PREFS_PREF_REGISTRY_SIMPLE_H_ 6*6777b538SAndroid Build Coastguard Worker #define COMPONENTS_PREFS_PREF_REGISTRY_SIMPLE_H_ 7*6777b538SAndroid Build Coastguard Worker 8*6777b538SAndroid Build Coastguard Worker #include <stdint.h> 9*6777b538SAndroid Build Coastguard Worker 10*6777b538SAndroid Build Coastguard Worker #include <memory> 11*6777b538SAndroid Build Coastguard Worker #include <string> 12*6777b538SAndroid Build Coastguard Worker 13*6777b538SAndroid Build Coastguard Worker #include "base/time/time.h" 14*6777b538SAndroid Build Coastguard Worker #include "base/values.h" 15*6777b538SAndroid Build Coastguard Worker #include "components/prefs/pref_registry.h" 16*6777b538SAndroid Build Coastguard Worker #include "components/prefs/prefs_export.h" 17*6777b538SAndroid Build Coastguard Worker 18*6777b538SAndroid Build Coastguard Worker namespace base { 19*6777b538SAndroid Build Coastguard Worker class FilePath; 20*6777b538SAndroid Build Coastguard Worker } 21*6777b538SAndroid Build Coastguard Worker 22*6777b538SAndroid Build Coastguard Worker // A simple implementation of PrefRegistry. 23*6777b538SAndroid Build Coastguard Worker class COMPONENTS_PREFS_EXPORT PrefRegistrySimple : public PrefRegistry { 24*6777b538SAndroid Build Coastguard Worker public: 25*6777b538SAndroid Build Coastguard Worker PrefRegistrySimple(); 26*6777b538SAndroid Build Coastguard Worker 27*6777b538SAndroid Build Coastguard Worker PrefRegistrySimple(const PrefRegistrySimple&) = delete; 28*6777b538SAndroid Build Coastguard Worker PrefRegistrySimple& operator=(const PrefRegistrySimple&) = delete; 29*6777b538SAndroid Build Coastguard Worker 30*6777b538SAndroid Build Coastguard Worker // For each of these registration methods, |flags| is an optional bitmask of 31*6777b538SAndroid Build Coastguard Worker // PrefRegistrationFlags. 32*6777b538SAndroid Build Coastguard Worker void RegisterBooleanPref(const std::string& path, 33*6777b538SAndroid Build Coastguard Worker bool default_value, 34*6777b538SAndroid Build Coastguard Worker uint32_t flags = NO_REGISTRATION_FLAGS); 35*6777b538SAndroid Build Coastguard Worker 36*6777b538SAndroid Build Coastguard Worker void RegisterIntegerPref(const std::string& path, 37*6777b538SAndroid Build Coastguard Worker int default_value, 38*6777b538SAndroid Build Coastguard Worker uint32_t flags = NO_REGISTRATION_FLAGS); 39*6777b538SAndroid Build Coastguard Worker 40*6777b538SAndroid Build Coastguard Worker void RegisterDoublePref(const std::string& path, 41*6777b538SAndroid Build Coastguard Worker double default_value, 42*6777b538SAndroid Build Coastguard Worker uint32_t flags = NO_REGISTRATION_FLAGS); 43*6777b538SAndroid Build Coastguard Worker 44*6777b538SAndroid Build Coastguard Worker void RegisterStringPref(const std::string& path, 45*6777b538SAndroid Build Coastguard Worker const std::string& default_value, 46*6777b538SAndroid Build Coastguard Worker uint32_t flags = NO_REGISTRATION_FLAGS); 47*6777b538SAndroid Build Coastguard Worker 48*6777b538SAndroid Build Coastguard Worker void RegisterFilePathPref(const std::string& path, 49*6777b538SAndroid Build Coastguard Worker const base::FilePath& default_value, 50*6777b538SAndroid Build Coastguard Worker uint32_t flags = NO_REGISTRATION_FLAGS); 51*6777b538SAndroid Build Coastguard Worker 52*6777b538SAndroid Build Coastguard Worker void RegisterListPref(const std::string& path, 53*6777b538SAndroid Build Coastguard Worker uint32_t flags = NO_REGISTRATION_FLAGS); 54*6777b538SAndroid Build Coastguard Worker 55*6777b538SAndroid Build Coastguard Worker void RegisterListPref(const std::string& path, 56*6777b538SAndroid Build Coastguard Worker base::Value::List default_value, 57*6777b538SAndroid Build Coastguard Worker uint32_t flags = NO_REGISTRATION_FLAGS); 58*6777b538SAndroid Build Coastguard Worker 59*6777b538SAndroid Build Coastguard Worker void RegisterDictionaryPref(const std::string& path, 60*6777b538SAndroid Build Coastguard Worker uint32_t flags = NO_REGISTRATION_FLAGS); 61*6777b538SAndroid Build Coastguard Worker 62*6777b538SAndroid Build Coastguard Worker void RegisterDictionaryPref(const std::string& path, 63*6777b538SAndroid Build Coastguard Worker base::Value::Dict default_value, 64*6777b538SAndroid Build Coastguard Worker uint32_t flags = NO_REGISTRATION_FLAGS); 65*6777b538SAndroid Build Coastguard Worker 66*6777b538SAndroid Build Coastguard Worker void RegisterInt64Pref(const std::string& path, 67*6777b538SAndroid Build Coastguard Worker int64_t default_value, 68*6777b538SAndroid Build Coastguard Worker uint32_t flags = NO_REGISTRATION_FLAGS); 69*6777b538SAndroid Build Coastguard Worker 70*6777b538SAndroid Build Coastguard Worker void RegisterUint64Pref(const std::string& path, 71*6777b538SAndroid Build Coastguard Worker uint64_t default_value, 72*6777b538SAndroid Build Coastguard Worker uint32_t flags = NO_REGISTRATION_FLAGS); 73*6777b538SAndroid Build Coastguard Worker 74*6777b538SAndroid Build Coastguard Worker void RegisterTimePref(const std::string& path, 75*6777b538SAndroid Build Coastguard Worker base::Time default_value, 76*6777b538SAndroid Build Coastguard Worker uint32_t flags = NO_REGISTRATION_FLAGS); 77*6777b538SAndroid Build Coastguard Worker 78*6777b538SAndroid Build Coastguard Worker void RegisterTimeDeltaPref(const std::string& path, 79*6777b538SAndroid Build Coastguard Worker base::TimeDelta default_value, 80*6777b538SAndroid Build Coastguard Worker uint32_t flags = NO_REGISTRATION_FLAGS); 81*6777b538SAndroid Build Coastguard Worker 82*6777b538SAndroid Build Coastguard Worker protected: 83*6777b538SAndroid Build Coastguard Worker ~PrefRegistrySimple() override; 84*6777b538SAndroid Build Coastguard Worker }; 85*6777b538SAndroid Build Coastguard Worker 86*6777b538SAndroid Build Coastguard Worker #endif // COMPONENTS_PREFS_PREF_REGISTRY_SIMPLE_H_ 87