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

Side by Side Diff: base/pickle.h

Issue 601563003: Add Read/WriteSizeT() functions to the pickle layer, plus one consumer. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix test failure Created 6 years, 2 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 | « base/metrics/histogram.cc ('k') | base/pickle.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) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 #ifndef BASE_PICKLE_H__ 5 #ifndef BASE_PICKLE_H__
6 #define BASE_PICKLE_H__ 6 #define BASE_PICKLE_H__
7 7
8 #include <string> 8 #include <string>
9 9
10 #include "base/base_export.h" 10 #include "base/base_export.h"
(...skipping 17 matching lines...) Expand all
28 // methods return true. Otherwise, false is returned to indicate that the 28 // methods return true. Otherwise, false is returned to indicate that the
29 // result could not be extracted. It is not possible to read from iterator 29 // result could not be extracted. It is not possible to read from iterator
30 // after that. 30 // after that.
31 bool ReadBool(bool* result) WARN_UNUSED_RESULT; 31 bool ReadBool(bool* result) WARN_UNUSED_RESULT;
32 bool ReadInt(int* result) WARN_UNUSED_RESULT; 32 bool ReadInt(int* result) WARN_UNUSED_RESULT;
33 bool ReadLong(long* result) WARN_UNUSED_RESULT; 33 bool ReadLong(long* result) WARN_UNUSED_RESULT;
34 bool ReadUInt16(uint16* result) WARN_UNUSED_RESULT; 34 bool ReadUInt16(uint16* result) WARN_UNUSED_RESULT;
35 bool ReadUInt32(uint32* result) WARN_UNUSED_RESULT; 35 bool ReadUInt32(uint32* result) WARN_UNUSED_RESULT;
36 bool ReadInt64(int64* result) WARN_UNUSED_RESULT; 36 bool ReadInt64(int64* result) WARN_UNUSED_RESULT;
37 bool ReadUInt64(uint64* result) WARN_UNUSED_RESULT; 37 bool ReadUInt64(uint64* result) WARN_UNUSED_RESULT;
38 bool ReadSizeT(size_t* result) WARN_UNUSED_RESULT;
38 bool ReadFloat(float* result) WARN_UNUSED_RESULT; 39 bool ReadFloat(float* result) WARN_UNUSED_RESULT;
39 bool ReadDouble(double* result) WARN_UNUSED_RESULT; 40 bool ReadDouble(double* result) WARN_UNUSED_RESULT;
40 bool ReadString(std::string* result) WARN_UNUSED_RESULT; 41 bool ReadString(std::string* result) WARN_UNUSED_RESULT;
41 bool ReadWString(std::wstring* result) WARN_UNUSED_RESULT; 42 bool ReadWString(std::wstring* result) WARN_UNUSED_RESULT;
42 bool ReadString16(base::string16* result) WARN_UNUSED_RESULT; 43 bool ReadString16(base::string16* result) WARN_UNUSED_RESULT;
43 bool ReadData(const char** data, int* length) WARN_UNUSED_RESULT; 44 bool ReadData(const char** data, int* length) WARN_UNUSED_RESULT;
44 bool ReadBytes(const char** data, int length) WARN_UNUSED_RESULT; 45 bool ReadBytes(const char** data, int length) WARN_UNUSED_RESULT;
45 46
46 // Safer version of ReadInt() checks for the result not being negative. 47 // Safer version of ReadInt() checks for the result not being negative.
47 // Use it for reading the object sizes. 48 // Use it for reading the object sizes.
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
165 return iter->ReadUInt32(result); 166 return iter->ReadUInt32(result);
166 } 167 }
167 bool ReadInt64(PickleIterator* iter, 168 bool ReadInt64(PickleIterator* iter,
168 int64* result) const WARN_UNUSED_RESULT { 169 int64* result) const WARN_UNUSED_RESULT {
169 return iter->ReadInt64(result); 170 return iter->ReadInt64(result);
170 } 171 }
171 bool ReadUInt64(PickleIterator* iter, 172 bool ReadUInt64(PickleIterator* iter,
172 uint64* result) const WARN_UNUSED_RESULT { 173 uint64* result) const WARN_UNUSED_RESULT {
173 return iter->ReadUInt64(result); 174 return iter->ReadUInt64(result);
174 } 175 }
176 bool ReadSizeT(PickleIterator* iter,
177 size_t* result) const WARN_UNUSED_RESULT {
178 return iter->ReadSizeT(result);
179 }
175 bool ReadFloat(PickleIterator* iter, 180 bool ReadFloat(PickleIterator* iter,
176 float* result) const WARN_UNUSED_RESULT { 181 float* result) const WARN_UNUSED_RESULT {
177 return iter->ReadFloat(result); 182 return iter->ReadFloat(result);
178 } 183 }
179 bool ReadDouble(PickleIterator* iter, 184 bool ReadDouble(PickleIterator* iter,
180 double* result) const WARN_UNUSED_RESULT { 185 double* result) const WARN_UNUSED_RESULT {
181 return iter->ReadDouble(result); 186 return iter->ReadDouble(result);
182 } 187 }
183 bool ReadString(PickleIterator* iter, 188 bool ReadString(PickleIterator* iter,
184 std::string* result) const WARN_UNUSED_RESULT { 189 std::string* result) const WARN_UNUSED_RESULT {
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
241 } 246 }
242 bool WriteUInt32(uint32 value) { 247 bool WriteUInt32(uint32 value) {
243 return WritePOD(value); 248 return WritePOD(value);
244 } 249 }
245 bool WriteInt64(int64 value) { 250 bool WriteInt64(int64 value) {
246 return WritePOD(value); 251 return WritePOD(value);
247 } 252 }
248 bool WriteUInt64(uint64 value) { 253 bool WriteUInt64(uint64 value) {
249 return WritePOD(value); 254 return WritePOD(value);
250 } 255 }
256 bool WriteSizeT(size_t value) {
257 // Always write size_t as a 64-bit value to ensure compatibility between
258 // 32-bit and 64-bit processes.
259 return WritePOD(static_cast<uint64>(value));
260 }
251 bool WriteFloat(float value) { 261 bool WriteFloat(float value) {
252 return WritePOD(value); 262 return WritePOD(value);
253 } 263 }
254 bool WriteDouble(double value) { 264 bool WriteDouble(double value) {
255 return WritePOD(value); 265 return WritePOD(value);
256 } 266 }
257 bool WriteString(const std::string& value); 267 bool WriteString(const std::string& value);
258 bool WriteWString(const std::wstring& value); 268 bool WriteWString(const std::wstring& value);
259 bool WriteString16(const base::string16& value); 269 bool WriteString16(const base::string16& value);
260 // "Data" is a blob with a length. When you read it out you will be given the 270 // "Data" is a blob with a length. When you read it out you will be given the
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
354 } 364 }
355 inline void WriteBytesCommon(const void* data, size_t length); 365 inline void WriteBytesCommon(const void* data, size_t length);
356 366
357 FRIEND_TEST_ALL_PREFIXES(PickleTest, Resize); 367 FRIEND_TEST_ALL_PREFIXES(PickleTest, Resize);
358 FRIEND_TEST_ALL_PREFIXES(PickleTest, FindNext); 368 FRIEND_TEST_ALL_PREFIXES(PickleTest, FindNext);
359 FRIEND_TEST_ALL_PREFIXES(PickleTest, FindNextWithIncompleteHeader); 369 FRIEND_TEST_ALL_PREFIXES(PickleTest, FindNextWithIncompleteHeader);
360 FRIEND_TEST_ALL_PREFIXES(PickleTest, FindNextOverflow); 370 FRIEND_TEST_ALL_PREFIXES(PickleTest, FindNextOverflow);
361 }; 371 };
362 372
363 #endif // BASE_PICKLE_H__ 373 #endif // BASE_PICKLE_H__
OLDNEW
« no previous file with comments | « base/metrics/histogram.cc ('k') | base/pickle.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698