Chromium Code Reviews| 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..6584dcffb3a689e3efc01ababa5f66f70e749668 |
| --- /dev/null |
| +++ b/chrome/browser/prefs/supervised_user_pref_store.h |
| @@ -0,0 +1,52 @@ |
| +// 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. |
|
Pam (message me for reviews)
2013/08/30 13:35:53
And that gets -- will get -- its settings from the
Bernhard Bauer
2013/08/30 14:54:27
No, ManagedModePolicyProvider will go away in favo
|
| +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 CopySettingsValue(const base::DictionaryValue* settings, |
|
Pam (message me for reviews)
2013/08/30 13:35:53
Comment please
Bernhard Bauer
2013/08/30 14:54:27
Done.
|
| + const char* settings_name, |
| + const char* pref_name); |
| + |
| + 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_ |