| Index: base/prefs/pref_service_factory.h
|
| diff --git a/base/prefs/pref_service_factory.h b/base/prefs/pref_service_factory.h
|
| index 3bc49321b33f8b5ee7ca7729a37714015f000a80..f84e0370c0f56f649a0cbe774fab33b100fe5ea2 100644
|
| --- a/base/prefs/pref_service_factory.h
|
| +++ b/base/prefs/pref_service_factory.h
|
| @@ -2,6 +2,90 @@
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| -// TODO(brettw) remove this forwarding header when prefs is completely moved to
|
| -// components.
|
| -#include "components/prefs/pref_service_factory.h"
|
| +#ifndef BASE_PREFS_PREF_SERVICE_FACTORY_H_
|
| +#define BASE_PREFS_PREF_SERVICE_FACTORY_H_
|
| +
|
| +#include "base/callback.h"
|
| +#include "base/macros.h"
|
| +#include "base/memory/ref_counted.h"
|
| +#include "base/prefs/base_prefs_export.h"
|
| +#include "base/prefs/persistent_pref_store.h"
|
| +#include "base/prefs/pref_registry.h"
|
| +#include "base/prefs/pref_store.h"
|
| +
|
| +class PrefService;
|
| +
|
| +namespace base {
|
| +
|
| +class FilePath;
|
| +class SequencedTaskRunner;
|
| +
|
| +// A class that allows convenient building of PrefService.
|
| +class BASE_PREFS_EXPORT PrefServiceFactory {
|
| + public:
|
| + PrefServiceFactory();
|
| + virtual ~PrefServiceFactory();
|
| +
|
| + // Functions for setting the various parameters of the PrefService to build.
|
| + void set_managed_prefs(const scoped_refptr<PrefStore>& managed_prefs) {
|
| + managed_prefs_ = managed_prefs;
|
| + }
|
| + void set_supervised_user_prefs(
|
| + const scoped_refptr<PrefStore>& supervised_user_prefs) {
|
| + supervised_user_prefs_ = supervised_user_prefs;
|
| + }
|
| + void set_extension_prefs(const scoped_refptr<PrefStore>& extension_prefs) {
|
| + extension_prefs_ = extension_prefs;
|
| + }
|
| + void set_command_line_prefs(
|
| + const scoped_refptr<PrefStore>& command_line_prefs) {
|
| + command_line_prefs_ = command_line_prefs;
|
| + }
|
| + void set_user_prefs(const scoped_refptr<PersistentPrefStore>& user_prefs) {
|
| + user_prefs_ = user_prefs;
|
| + }
|
| + void set_recommended_prefs(
|
| + const scoped_refptr<PrefStore>& recommended_prefs) {
|
| + recommended_prefs_ = recommended_prefs;
|
| + }
|
| +
|
| + // Sets up error callback for the PrefService. A do-nothing default
|
| + // is provided if this is not called.
|
| + void set_read_error_callback(
|
| + const base::Callback<void(PersistentPrefStore::PrefReadError)>&
|
| + read_error_callback) {
|
| + read_error_callback_ = read_error_callback;
|
| + }
|
| +
|
| + // Specifies to use an actual file-backed user pref store.
|
| + void SetUserPrefsFile(const base::FilePath& prefs_file,
|
| + base::SequencedTaskRunner* task_runner);
|
| +
|
| + void set_async(bool async) {
|
| + async_ = async;
|
| + }
|
| +
|
| + // Creates a PrefService object initialized with the parameters from
|
| + // this factory.
|
| + scoped_ptr<PrefService> Create(PrefRegistry* registry);
|
| +
|
| + protected:
|
| + scoped_refptr<PrefStore> managed_prefs_;
|
| + scoped_refptr<PrefStore> supervised_user_prefs_;
|
| + scoped_refptr<PrefStore> extension_prefs_;
|
| + scoped_refptr<PrefStore> command_line_prefs_;
|
| + scoped_refptr<PersistentPrefStore> user_prefs_;
|
| + scoped_refptr<PrefStore> recommended_prefs_;
|
| +
|
| + base::Callback<void(PersistentPrefStore::PrefReadError)> read_error_callback_;
|
| +
|
| + // Defaults to false.
|
| + bool async_;
|
| +
|
| + private:
|
| + DISALLOW_COPY_AND_ASSIGN(PrefServiceFactory);
|
| +};
|
| +
|
| +} // namespace base
|
| +
|
| +#endif // BASE_PREFS_PREF_SERVICE_FACTORY_H_
|
|
|