OLD | NEW |
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 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 // This provides a way to access the application's current preferences. | 5 // This provides a way to access the application's current preferences. |
6 // This service has two preference stores, one for "persistent" preferences, | 6 // This service has two preference stores, one for "persistent" preferences, |
7 // which get serialized for use in the next session, and one for "transient" | 7 // which get serialized for use in the next session, and one for "transient" |
8 // preferences, which are in effect for only the current session | 8 // preferences, which are in effect for only the current session |
9 // (this usually encodes things like command-line switches). | 9 // (this usually encodes things like command-line switches). |
10 // | 10 // |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
49 const wchar_t* name, | 49 const wchar_t* name, |
50 Value* default_value); | 50 Value* default_value); |
51 ~Preference() {} | 51 ~Preference() {} |
52 | 52 |
53 Value::ValueType type() const { return type_; } | 53 Value::ValueType type() const { return type_; } |
54 | 54 |
55 // Returns the name of the Preference (i.e., the key, e.g., | 55 // Returns the name of the Preference (i.e., the key, e.g., |
56 // browser.window_placement). | 56 // browser.window_placement). |
57 const std::wstring name() const { return name_; } | 57 const std::wstring name() const { return name_; } |
58 | 58 |
59 // Returns the value of the Preference. If there is no user specified value
, | 59 // Returns the value of the Preference. If there is no user specified |
60 // it returns the default value. | 60 // value, it returns the default value. |
61 const Value* GetValue() const; | 61 const Value* GetValue() const; |
62 | 62 |
63 // Returns true if the current value matches the default value. | 63 // Returns true if the current value matches the default value. |
64 bool IsDefaultValue() const; | 64 bool IsDefaultValue() const; |
65 | 65 |
66 private: | 66 private: |
67 friend class PrefService; | 67 friend class PrefService; |
68 | 68 |
69 Value::ValueType type_; | 69 Value::ValueType type_; |
70 std::wstring name_; | 70 std::wstring name_; |
71 scoped_ptr<Value> default_value_; | 71 scoped_ptr<Value> default_value_; |
72 | 72 |
73 // A reference to the pref service's persistent prefs. | 73 // A reference to the pref service's persistent prefs. |
74 DictionaryValue* root_pref_; | 74 DictionaryValue* root_pref_; |
75 | 75 |
76 DISALLOW_COPY_AND_ASSIGN(Preference); | 76 DISALLOW_COPY_AND_ASSIGN(Preference); |
77 }; | 77 }; |
78 | 78 |
79 // |pref_filename| is the path to the prefs file we will try to load or save t
o. | 79 // |pref_filename| is the path to the prefs file we will try to load or save |
| 80 // to. |
80 explicit PrefService(const FilePath& pref_filename); | 81 explicit PrefService(const FilePath& pref_filename); |
81 ~PrefService(); | 82 ~PrefService(); |
82 | 83 |
83 // Reloads the data from file. This should only be called when the importer | 84 // Reloads the data from file. This should only be called when the importer |
84 // is running during first run, and the main process may not change pref | 85 // is running during first run, and the main process may not change pref |
85 // values while the importer process is running. | 86 // values while the importer process is running. |
86 void ReloadPersistentPrefs(); | 87 void ReloadPersistentPrefs(); |
87 | 88 |
88 // Writes the data to disk on the provided thread. In Chrome, |thread| should | 89 // Writes the data to disk on the provided thread. In Chrome, |thread| should |
89 // be the file thread. The return value only reflects whether serialization | 90 // be the file thread. The return value only reflects whether serialization |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
121 int locale_default_message_id); | 122 int locale_default_message_id); |
122 void RegisterLocalizedRealPref(const wchar_t* path, | 123 void RegisterLocalizedRealPref(const wchar_t* path, |
123 int locale_default_message_id); | 124 int locale_default_message_id); |
124 void RegisterLocalizedStringPref(const wchar_t* path, | 125 void RegisterLocalizedStringPref(const wchar_t* path, |
125 int locale_default_message_id); | 126 int locale_default_message_id); |
126 | 127 |
127 // Returns whether the specified pref has been registered. | 128 // Returns whether the specified pref has been registered. |
128 bool IsPrefRegistered(const wchar_t* path); | 129 bool IsPrefRegistered(const wchar_t* path); |
129 | 130 |
130 // If the path is valid and the value at the end of the path matches the type | 131 // If the path is valid and the value at the end of the path matches the type |
131 // specified, it will return the specified value. Otherwise, the default valu
e | 132 // specified, it will return the specified value. Otherwise, the default |
132 // (set when the pref was registered) will be returned. | 133 // value (set when the pref was registered) will be returned. |
133 bool GetBoolean(const wchar_t* path) const; | 134 bool GetBoolean(const wchar_t* path) const; |
134 int GetInteger(const wchar_t* path) const; | 135 int GetInteger(const wchar_t* path) const; |
135 double GetReal(const wchar_t* path) const; | 136 double GetReal(const wchar_t* path) const; |
136 std::wstring GetString(const wchar_t* path) const; | 137 std::wstring GetString(const wchar_t* path) const; |
137 FilePath GetFilePath(const wchar_t* path) const; | 138 FilePath GetFilePath(const wchar_t* path) const; |
138 | 139 |
139 // Returns the branch if it exists. If it's not a branch or the branch does | 140 // Returns the branch if it exists. If it's not a branch or the branch does |
140 // not exist, returns NULL. This does | 141 // not exist, returns NULL. This does |
141 const DictionaryValue* GetDictionary(const wchar_t* path) const; | 142 const DictionaryValue* GetDictionary(const wchar_t* path) const; |
142 const ListValue* GetList(const wchar_t* path) const; | 143 const ListValue* GetList(const wchar_t* path) const; |
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
242 // order they are added. | 243 // order they are added. |
243 typedef ObserverList<NotificationObserver> NotificationObserverList; | 244 typedef ObserverList<NotificationObserver> NotificationObserverList; |
244 typedef base::hash_map<std::wstring, NotificationObserverList*> | 245 typedef base::hash_map<std::wstring, NotificationObserverList*> |
245 PrefObserverMap; | 246 PrefObserverMap; |
246 PrefObserverMap pref_observers_; | 247 PrefObserverMap pref_observers_; |
247 | 248 |
248 DISALLOW_COPY_AND_ASSIGN(PrefService); | 249 DISALLOW_COPY_AND_ASSIGN(PrefService); |
249 }; | 250 }; |
250 | 251 |
251 #endif // CHROME_COMMON_PREF_SERVICE_H_ | 252 #endif // CHROME_COMMON_PREF_SERVICE_H_ |
OLD | NEW |