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

Unified Diff: chrome/browser/prefs/supervised_user_pref_store.h

Issue 23466004: Add ManagedUserSettingsService and a SupervisedUserPrefStore using it. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: review Created 7 years, 4 months 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
Index: chrome/browser/prefs/supervised_user_pref_store.h
diff --git a/chrome/browser/prefs/supervised_user_pref_store.h b/chrome/browser/prefs/supervised_user_pref_store.h
new file mode 100644
index 0000000000000000000000000000000000000000..3703074ca2fcd180eba146ac17a53777b225e2e5
--- /dev/null
+++ b/chrome/browser/prefs/supervised_user_pref_store.h
@@ -0,0 +1,48 @@
+// Copyright 2013 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 CHROME_BROWSER_PREFS_SUPERVISED_USER_PREF_STORE_H_
+#define CHROME_BROWSER_PREFS_SUPERVISED_USER_PREF_STORE_H_
+
+#include "base/memory/scoped_ptr.h"
+#include "base/observer_list.h"
+#include "base/prefs/pref_store.h"
+#include "chrome/browser/managed_mode/managed_users.h"
+
+namespace base {
+class DictionaryValue;
+class Value;
+}
+
+class ManagedUserSettingsService;
+class PrefValueMap;
+
+// A PrefStore that gets its values from managed user settings via the
+// ManagedUserSettingsService passed in at construction.
+class SupervisedUserPrefStore : public PrefStore {
+ public:
+ SupervisedUserPrefStore(
+ ManagedUserSettingsService* managed_user_settings_service);
+
+ // PrefStore overrides:
+ virtual bool GetValue(const std::string& key,
+ const base::Value** value) const OVERRIDE;
+ virtual void AddObserver(PrefStore::Observer* observer) OVERRIDE;
+ virtual void RemoveObserver(PrefStore::Observer* observer) OVERRIDE;
+ virtual bool HasObservers() const OVERRIDE;
+ virtual bool IsInitializationComplete() const OVERRIDE;
+
+ private:
+ virtual ~SupervisedUserPrefStore();
+
+ void OnNewSettingsAvailable(const base::DictionaryValue* settings);
+
+ base::WeakPtrFactory<SupervisedUserPrefStore> weak_ptr_factory_;
+
+ scoped_ptr<PrefValueMap> prefs_;
+
+ ObserverList<PrefStore::Observer, true> observers_;
+};
+
+#endif // CHROME_BROWSER_PREFS_SUPERVISED_USER_PREF_STORE_H_

Powered by Google App Engine
This is Rietveld 408576698