OLD | NEW |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 // | 4 // |
5 // A helper class that stays in sync with a preference (bool, int, real, | 5 // A helper class that stays in sync with a preference (bool, int, real, |
6 // string or filepath). For example: | 6 // string or filepath). For example: |
7 // | 7 // |
8 // class MyClass { | 8 // class MyClass { |
9 // public: | 9 // public: |
10 // MyClass(PrefService* prefs) { | 10 // MyClass(PrefService* prefs) { |
(...skipping 27 matching lines...) Expand all Loading... |
38 class PrefMemberBase : public NotificationObserver { | 38 class PrefMemberBase : public NotificationObserver { |
39 protected: | 39 protected: |
40 PrefMemberBase(); | 40 PrefMemberBase(); |
41 virtual ~PrefMemberBase(); | 41 virtual ~PrefMemberBase(); |
42 | 42 |
43 // See PrefMember<> for description. | 43 // See PrefMember<> for description. |
44 void Init(const char* pref_name, PrefService* prefs, | 44 void Init(const char* pref_name, PrefService* prefs, |
45 NotificationObserver* observer); | 45 NotificationObserver* observer); |
46 | 46 |
47 // See PrefMember<> for description. | 47 // See PrefMember<> for description. |
| 48 void Destroy(); |
| 49 |
| 50 // See PrefMember<> for description. |
48 bool IsManaged() const; | 51 bool IsManaged() const; |
49 | 52 |
50 // NotificationObserver | 53 // NotificationObserver |
51 virtual void Observe(NotificationType type, | 54 virtual void Observe(NotificationType type, |
52 const NotificationSource& source, | 55 const NotificationSource& source, |
53 const NotificationDetails& details); | 56 const NotificationDetails& details); |
54 | 57 |
55 void VerifyValuePrefName() const; | 58 void VerifyValuePrefName() const; |
56 | 59 |
57 // This methods is used to do the actual sync with pref of the specified type. | 60 // This methods is used to do the actual sync with pref of the specified type. |
(...skipping 27 matching lines...) Expand all Loading... |
85 PrefMember() : value_(ValueType()) {} | 88 PrefMember() : value_(ValueType()) {} |
86 virtual ~PrefMember() {} | 89 virtual ~PrefMember() {} |
87 | 90 |
88 // Do the actual initialization of the class. |observer| may be null if you | 91 // Do the actual initialization of the class. |observer| may be null if you |
89 // don't want any notifications of changes. | 92 // don't want any notifications of changes. |
90 void Init(const char* pref_name, PrefService* prefs, | 93 void Init(const char* pref_name, PrefService* prefs, |
91 NotificationObserver* observer) { | 94 NotificationObserver* observer) { |
92 subtle::PrefMemberBase::Init(pref_name, prefs, observer); | 95 subtle::PrefMemberBase::Init(pref_name, prefs, observer); |
93 } | 96 } |
94 | 97 |
| 98 // Unsubscribes the PrefMember from the PrefService. After calling this |
| 99 // function, the PrefMember may not be used any more. |
| 100 void Destroy() { |
| 101 subtle::PrefMemberBase::Destroy(); |
| 102 } |
| 103 |
95 // Check whether the pref is managed, i.e. controlled externally through | 104 // Check whether the pref is managed, i.e. controlled externally through |
96 // enterprise configuration management (e.g. windows group policy). Returns | 105 // enterprise configuration management (e.g. windows group policy). Returns |
97 // false for unknown prefs. | 106 // false for unknown prefs. |
98 bool IsManaged() { | 107 bool IsManaged() { |
99 return subtle::PrefMemberBase::IsManaged(); | 108 return subtle::PrefMemberBase::IsManaged(); |
100 } | 109 } |
101 | 110 |
102 // Retrieve the value of the member variable. | 111 // Retrieve the value of the member variable. |
103 ValueType GetValue() const { | 112 ValueType GetValue() const { |
104 VerifyValuePrefName(); | 113 VerifyValuePrefName(); |
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
202 | 211 |
203 protected: | 212 protected: |
204 virtual void UpdateValueFromPref() const; | 213 virtual void UpdateValueFromPref() const; |
205 virtual void UpdatePref(const FilePath& value); | 214 virtual void UpdatePref(const FilePath& value); |
206 | 215 |
207 private: | 216 private: |
208 DISALLOW_COPY_AND_ASSIGN(FilePathPrefMember); | 217 DISALLOW_COPY_AND_ASSIGN(FilePathPrefMember); |
209 }; | 218 }; |
210 | 219 |
211 #endif // CHROME_BROWSER_PREFS_PREF_MEMBER_H_ | 220 #endif // CHROME_BROWSER_PREFS_PREF_MEMBER_H_ |
OLD | NEW |