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 // This file specifies a recursive data storage class called Value intended for | 5 // This file specifies a recursive data storage class called Value intended for |
6 // storing setting and other persistable data. It includes the ability to | 6 // storing setting and other persistable data. It includes the ability to |
7 // specify (recursive) lists and dictionaries, so it's fairly expressive. | 7 // specify (recursive) lists and dictionaries, so it's fairly expressive. |
8 // However, the API is optimized for the common case, namely storing a | 8 // However, the API is optimized for the common case, namely storing a |
9 // hierarchical tree of simple values. Given a DictionaryValue root, you can | 9 // hierarchical tree of simple values. Given a DictionaryValue root, you can |
10 // easily do things like: | 10 // easily do things like: |
(...skipping 235 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
246 // |in_value|, and therefore |in_value| must be non-NULL. | 246 // |in_value|, and therefore |in_value| must be non-NULL. |
247 void Set(const std::string& path, Value* in_value); | 247 void Set(const std::string& path, Value* in_value); |
248 /*DEPRECATED*/void Set(const std::wstring& path, Value* in_value); | 248 /*DEPRECATED*/void Set(const std::wstring& path, Value* in_value); |
249 | 249 |
250 // Convenience forms of Set(). These methods will replace any existing | 250 // Convenience forms of Set(). These methods will replace any existing |
251 // value at that path, even if it has a different type. | 251 // value at that path, even if it has a different type. |
252 void SetBoolean(const std::string& path, bool in_value); | 252 void SetBoolean(const std::string& path, bool in_value); |
253 void SetInteger(const std::string& path, int in_value); | 253 void SetInteger(const std::string& path, int in_value); |
254 void SetReal(const std::string& path, double in_value); | 254 void SetReal(const std::string& path, double in_value); |
255 void SetString(const std::string& path, const std::string& in_value); | 255 void SetString(const std::string& path, const std::string& in_value); |
256 void SetStringFromUTF16(const std::string& path, const string16& in_value); | 256 void SetString(const std::string& path, const string16& in_value); |
257 /*DEPRECATED*/void SetBoolean(const std::wstring& path, bool in_value); | 257 /*DEPRECATED*/void SetBoolean(const std::wstring& path, bool in_value); |
258 /*DEPRECATED*/void SetInteger(const std::wstring& path, int in_value); | 258 /*DEPRECATED*/void SetInteger(const std::wstring& path, int in_value); |
259 /*DEPRECATED*/void SetReal(const std::wstring& path, double in_value); | 259 /*DEPRECATED*/void SetReal(const std::wstring& path, double in_value); |
260 /*DEPRECATED*/void SetString(const std::wstring& path, | 260 /*DEPRECATED*/void SetString(const std::wstring& path, |
261 const std::string& in_value); | 261 const std::string& in_value); |
262 /*DEPRECATED*/void SetString(const std::wstring& path, | 262 /*DEPRECATED*/void SetString(const std::wstring& path, |
| 263 const string16& in_value); |
| 264 #if !defined(WCHAR_T_IS_UTF16) |
| 265 /*DEPRECATED*/void SetString(const std::wstring& path, |
263 const std::wstring& in_value); | 266 const std::wstring& in_value); |
264 /*DEPRECATED*/void SetStringFromUTF16(const std::wstring& path, | 267 #endif |
265 const string16& in_value); | |
266 | 268 |
267 // Like Set(), but without special treatment of '.'. This allows e.g. URLs to | 269 // Like Set(), but without special treatment of '.'. This allows e.g. URLs to |
268 // be used as paths. | 270 // be used as paths. |
269 void SetWithoutPathExpansion(const std::string& key, Value* in_value); | 271 void SetWithoutPathExpansion(const std::string& key, Value* in_value); |
270 /*DEPRECATED*/void SetWithoutPathExpansion(const std::wstring& key, | 272 /*DEPRECATED*/void SetWithoutPathExpansion(const std::wstring& key, |
271 Value* in_value); | 273 Value* in_value); |
272 | 274 |
273 // Gets the Value associated with the given path starting from this object. | 275 // Gets the Value associated with the given path starting from this object. |
274 // A path has the form "<key>" or "<key>.<key>.[...]", where "." indexes | 276 // A path has the form "<key>" or "<key>.<key>.[...]", where "." indexes |
275 // into the next DictionaryValue down. If the path can be resolved | 277 // into the next DictionaryValue down. If the path can be resolved |
(...skipping 215 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
491 // This method deserializes the subclass-specific format into a Value object. | 493 // This method deserializes the subclass-specific format into a Value object. |
492 // If the return value is non-NULL, the caller takes ownership of returned | 494 // If the return value is non-NULL, the caller takes ownership of returned |
493 // Value. If the return value is NULL, and if error_code is non-NULL, | 495 // Value. If the return value is NULL, and if error_code is non-NULL, |
494 // error_code will be set with the underlying error. | 496 // error_code will be set with the underlying error. |
495 // If |error_message| is non-null, it will be filled in with a formatted | 497 // If |error_message| is non-null, it will be filled in with a formatted |
496 // error message including the location of the error if appropriate. | 498 // error message including the location of the error if appropriate. |
497 virtual Value* Deserialize(int* error_code, std::string* error_str) = 0; | 499 virtual Value* Deserialize(int* error_code, std::string* error_str) = 0; |
498 }; | 500 }; |
499 | 501 |
500 #endif // BASE_VALUES_H_ | 502 #endif // BASE_VALUES_H_ |
OLD | NEW |