Chromium Code Reviews| Index: chrome/browser/managed_mode/supervised_user_pref_store.h |
| diff --git a/chrome/browser/managed_mode/supervised_user_pref_store.h b/chrome/browser/managed_mode/supervised_user_pref_store.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..11e03ad9023258b24cb7698872c0b86b042737cb |
| --- /dev/null |
| +++ b/chrome/browser/managed_mode/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_MANAGED_MODE_SUPERVISED_USER_PREF_STORE_H_ |
|
Pam (message me for reviews)
2013/09/03 10:45:32
Didn't we decide to keep all the code named with M
Bernhard Bauer
2013/09/03 10:53:43
That created confusion in PrefValueStore, where we
bartfab (slow)
2013/09/03 11:16:07
My vote goes to using "supervised user" in all new
|
| +#define CHROME_BROWSER_MANAGED_MODE_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_MANAGED_MODE_SUPERVISED_USER_PREF_STORE_H_ |