Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1242)

Unified Diff: base/prefs/pref_service_factory.h

Issue 64193003: Clean up PrefServiceBuilder (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix memory ownership bug in ProxyPolicyTest Created 7 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « base/prefs/pref_service_builder.cc ('k') | base/prefs/pref_service_factory.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: base/prefs/pref_service_factory.h
diff --git a/base/prefs/pref_service_builder.h b/base/prefs/pref_service_factory.h
similarity index 49%
rename from base/prefs/pref_service_builder.h
rename to base/prefs/pref_service_factory.h
index 7af43926233464654bdf2920d548ff624f8b0d7d..47c9060f720b95a7c3087c8cf6371925842d1507 100644
--- a/base/prefs/pref_service_builder.h
+++ b/base/prefs/pref_service_factory.h
@@ -2,8 +2,8 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef BASE_PREFS_PREF_SERVICE_BUILDER_H_
-#define BASE_PREFS_PREF_SERVICE_BUILDER_H_
+#ifndef BASE_PREFS_PREF_SERVICE_FACTORY_H_
+#define BASE_PREFS_PREF_SERVICE_FACTORY_H_
#include "base/basictypes.h"
#include "base/callback.h"
@@ -16,45 +16,60 @@
class PrefService;
namespace base {
+
class FilePath;
class SequencedTaskRunner;
-}
// A class that allows convenient building of PrefService.
-class BASE_PREFS_EXPORT PrefServiceBuilder {
+class BASE_PREFS_EXPORT PrefServiceFactory {
public:
- PrefServiceBuilder();
- virtual ~PrefServiceBuilder();
+ PrefServiceFactory();
+ virtual ~PrefServiceFactory();
// Functions for setting the various parameters of the PrefService to build.
- // These take ownership of the |store| parameter.
- PrefServiceBuilder& WithManagedPrefs(PrefStore* store);
- PrefServiceBuilder& WithSupervisedUserPrefs(PrefStore* store);
- PrefServiceBuilder& WithExtensionPrefs(PrefStore* store);
- PrefServiceBuilder& WithCommandLinePrefs(PrefStore* store);
- PrefServiceBuilder& WithUserPrefs(PersistentPrefStore* store);
- PrefServiceBuilder& WithRecommendedPrefs(PrefStore* store);
+ 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.
- PrefServiceBuilder& WithReadErrorCallback(
+ void set_read_error_callback(
const base::Callback<void(PersistentPrefStore::PrefReadError)>&
- read_error_callback);
+ read_error_callback) {
+ read_error_callback_ = read_error_callback;
+ }
// Specifies to use an actual file-backed user pref store.
- PrefServiceBuilder& WithUserFilePrefs(
- const base::FilePath& prefs_file,
- base::SequencedTaskRunner* task_runner);
+ void SetUserPrefsFile(const base::FilePath& prefs_file,
+ base::SequencedTaskRunner* task_runner);
- PrefServiceBuilder& WithAsync(bool async);
+ void set_async(bool async) {
+ async_ = async;
+ }
// Creates a PrefService object initialized with the parameters from
- // this builder.
- virtual PrefService* Create(PrefRegistry* registry);
+ // this factory.
+ scoped_ptr<PrefService> Create(PrefRegistry* registry);
protected:
- virtual void ResetDefaultState();
-
scoped_refptr<PrefStore> managed_prefs_;
scoped_refptr<PrefStore> supervised_user_prefs_;
scoped_refptr<PrefStore> extension_prefs_;
@@ -68,7 +83,9 @@ class BASE_PREFS_EXPORT PrefServiceBuilder {
bool async_;
private:
- DISALLOW_COPY_AND_ASSIGN(PrefServiceBuilder);
+ DISALLOW_COPY_AND_ASSIGN(PrefServiceFactory);
};
-#endif // BASE_PREFS_PREF_SERVICE_BUILDER_H_
+} // namespace base
+
+#endif // BASE_PREFS_PREF_SERVICE_FACTORY_H_
« no previous file with comments | « base/prefs/pref_service_builder.cc ('k') | base/prefs/pref_service_factory.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698