blob: 358aa676fde89ab9b9f23d8b04cbfebbda1a6f6d [file] [log] [blame]
// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef COMPONENTS_PREFS_PREF_REGISTRY_SIMPLE_H_
#define COMPONENTS_PREFS_PREF_REGISTRY_SIMPLE_H_
#include <stdint.h>
#include <memory>
#include <string>
#include "base/macros.h"
#include "base/time/time.h"
#include "components/prefs/pref_registry.h"
#include "components/prefs/prefs_export.h"
namespace base {
class Value;
class FilePath;
} // namespace base
// A simple implementation of PrefRegistry.
class COMPONENTS_PREFS_EXPORT PrefRegistrySimple : public PrefRegistry {
public:
PrefRegistrySimple();
// For each of these registration methods, |flags| is an optional bitmask of
// PrefRegistrationFlags.
void RegisterBooleanPref(const std::string& path,
bool default_value,
uint32_t flags = NO_REGISTRATION_FLAGS);
void RegisterIntegerPref(const std::string& path,
int default_value,
uint32_t flags = NO_REGISTRATION_FLAGS);
void RegisterDoublePref(const std::string& path,
double default_value,
uint32_t flags = NO_REGISTRATION_FLAGS);
void RegisterStringPref(const std::string& path,
const std::string& default_value,
uint32_t flags = NO_REGISTRATION_FLAGS);
void RegisterFilePathPref(const std::string& path,
const base::FilePath& default_value,
uint32_t flags = NO_REGISTRATION_FLAGS);
void RegisterListPref(const std::string& path,
uint32_t flags = NO_REGISTRATION_FLAGS);
void RegisterListPref(const std::string& path,
base::Value default_value,
uint32_t flags = NO_REGISTRATION_FLAGS);
void RegisterDictionaryPref(const std::string& path,
uint32_t flags = NO_REGISTRATION_FLAGS);
void RegisterDictionaryPref(const std::string& path,
base::Value default_value,
uint32_t flags = NO_REGISTRATION_FLAGS);
void RegisterInt64Pref(const std::string& path,
int64_t default_value,
uint32_t flags = NO_REGISTRATION_FLAGS);
void RegisterUint64Pref(const std::string& path,
uint64_t default_value,
uint32_t flags = NO_REGISTRATION_FLAGS);
void RegisterTimePref(const std::string& path,
base::Time default_value,
uint32_t flags = NO_REGISTRATION_FLAGS);
void RegisterTimeDeltaPref(const std::string& path,
base::TimeDelta default_value,
uint32_t flags = NO_REGISTRATION_FLAGS);
protected:
~PrefRegistrySimple() override;
private:
DISALLOW_COPY_AND_ASSIGN(PrefRegistrySimple);
};
#endif // COMPONENTS_PREFS_PREF_REGISTRY_SIMPLE_H_