Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(478)

Side by Side Diff: base/values.h

Issue 647016: importer: use FilePath instead of wstring in some places (Closed)
Patch Set: with fixes Created 10 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | base/values.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 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 5 // This file specifies a recursive data storage class called Value
6 // intended for storing setting and other persistable data. 6 // intended for storing setting and other persistable data.
7 // It includes the ability to specify (recursive) lists and dictionaries, so 7 // It includes the ability to specify (recursive) lists and dictionaries, so
8 // it's fairly expressive. However, the API is optimized for the common case, 8 // it's fairly expressive. However, the API is optimized for the common case,
9 // namely storing a hierarchical tree of simple values. Given a 9 // namely storing a hierarchical tree of simple values. Given a
10 // DictionaryValue root, you can easily do things like: 10 // DictionaryValue root, you can easily do things like:
(...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after
207 class DictionaryValue : public Value { 207 class DictionaryValue : public Value {
208 public: 208 public:
209 DictionaryValue() : Value(TYPE_DICTIONARY) {} 209 DictionaryValue() : Value(TYPE_DICTIONARY) {}
210 ~DictionaryValue(); 210 ~DictionaryValue();
211 211
212 // Subclassed methods 212 // Subclassed methods
213 Value* DeepCopy() const; 213 Value* DeepCopy() const;
214 virtual bool Equals(const Value* other) const; 214 virtual bool Equals(const Value* other) const;
215 215
216 // Returns true if the current dictionary has a value for the given key. 216 // Returns true if the current dictionary has a value for the given key.
217 bool HasKeyASCII(const std::string& key) const;
218 // Deprecated version of the above. TODO: add a string16 version for Unicode.
219 // http://code.google.com/p/chromium/issues/detail?id=23581
217 bool HasKey(const std::wstring& key) const; 220 bool HasKey(const std::wstring& key) const;
218 221
219 // Returns the number of Values in this dictionary. 222 // Returns the number of Values in this dictionary.
220 size_t size() const { return dictionary_.size(); } 223 size_t size() const { return dictionary_.size(); }
221 224
222 // Returns whether the dictionary is empty. 225 // Returns whether the dictionary is empty.
223 bool empty() const { return dictionary_.empty(); } 226 bool empty() const { return dictionary_.empty(); }
224 227
225 // Clears any current contents of this dictionary. 228 // Clears any current contents of this dictionary.
226 void Clear(); 229 void Clear();
(...skipping 30 matching lines...) Expand all
257 // Otherwise, it will return false and "value" will be untouched. 260 // Otherwise, it will return false and "value" will be untouched.
258 // Note that the dictionary always owns the value that's returned. 261 // Note that the dictionary always owns the value that's returned.
259 bool Get(const std::wstring& path, Value** out_value) const; 262 bool Get(const std::wstring& path, Value** out_value) const;
260 263
261 // These are convenience forms of Get(). The value will be retrieved 264 // These are convenience forms of Get(). The value will be retrieved
262 // and the return value will be true if the path is valid and the value at 265 // and the return value will be true if the path is valid and the value at
263 // the end of the path can be returned in the form specified. 266 // the end of the path can be returned in the form specified.
264 bool GetBoolean(const std::wstring& path, bool* out_value) const; 267 bool GetBoolean(const std::wstring& path, bool* out_value) const;
265 bool GetInteger(const std::wstring& path, int* out_value) const; 268 bool GetInteger(const std::wstring& path, int* out_value) const;
266 bool GetReal(const std::wstring& path, double* out_value) const; 269 bool GetReal(const std::wstring& path, double* out_value) const;
270 bool GetString(const std::string& path, string16* out_value) const;
271 bool GetStringASCII(const std::string& path, std::string* out_value) const;
272 // TODO: deprecate wstring accessors.
273 // http://code.google.com/p/chromium/issues/detail?id=23581
267 bool GetString(const std::wstring& path, std::string* out_value) const; 274 bool GetString(const std::wstring& path, std::string* out_value) const;
268 bool GetString(const std::wstring& path, std::wstring* out_value) const; 275 bool GetString(const std::wstring& path, std::wstring* out_value) const;
269 bool GetStringAsUTF16(const std::wstring& path, string16* out_value) const; 276 bool GetStringAsUTF16(const std::wstring& path, string16* out_value) const;
270 bool GetBinary(const std::wstring& path, BinaryValue** out_value) const; 277 bool GetBinary(const std::wstring& path, BinaryValue** out_value) const;
271 bool GetDictionary(const std::wstring& path, 278 bool GetDictionary(const std::wstring& path,
272 DictionaryValue** out_value) const; 279 DictionaryValue** out_value) const;
273 bool GetList(const std::wstring& path, ListValue** out_value) const; 280 bool GetList(const std::wstring& path, ListValue** out_value) const;
274 281
275 // Like Get(), but without special treatment of '.'. This allows e.g. URLs to 282 // Like Get(), but without special treatment of '.'. This allows e.g. URLs to
276 // be used as paths. 283 // be used as paths.
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after
423 virtual bool Serialize(const Value& root) = 0; 430 virtual bool Serialize(const Value& root) = 0;
424 431
425 // This method deserializes the subclass-specific format into a Value object. 432 // This method deserializes the subclass-specific format into a Value object.
426 // If the return value is non-NULL, the caller takes ownership of returned 433 // If the return value is non-NULL, the caller takes ownership of returned
427 // Value. If the return value is NULL, and if error_message is non-NULL, 434 // Value. If the return value is NULL, and if error_message is non-NULL,
428 // error_message should be filled with a message describing the error. 435 // error_message should be filled with a message describing the error.
429 virtual Value* Deserialize(std::string* error_message) = 0; 436 virtual Value* Deserialize(std::string* error_message) = 0;
430 }; 437 };
431 438
432 #endif // BASE_VALUES_H_ 439 #endif // BASE_VALUES_H_
OLDNEW
« no previous file with comments | « no previous file | base/values.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698