| OLD | NEW | 
|---|
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 MOJO_PUBLIC_CPP_BINDINGS_LIB_BINDINGS_SERIALIZATION_H_ | 5 #ifndef MOJO_PUBLIC_CPP_BINDINGS_LIB_BINDINGS_SERIALIZATION_H_ | 
| 6 #define MOJO_PUBLIC_CPP_BINDINGS_LIB_BINDINGS_SERIALIZATION_H_ | 6 #define MOJO_PUBLIC_CPP_BINDINGS_LIB_BINDINGS_SERIALIZATION_H_ | 
| 7 | 7 | 
| 8 #include <vector> | 8 #include <vector> | 
| 9 | 9 | 
| 10 #include "mojo/public/cpp/bindings/buffer.h" | 10 #include "mojo/public/cpp/bindings/buffer.h" | 
| 11 #include "mojo/public/cpp/bindings/message.h" | 11 #include "mojo/public/cpp/bindings/message.h" | 
| 12 | 12 | 
| 13 namespace mojo { | 13 namespace mojo { | 
| 14 namespace internal { | 14 namespace internal { | 
| 15 | 15 | 
| 16 size_t Align(size_t size); | 16 size_t Align(size_t size); | 
|  | 17 char* AlignPointer(char* ptr); | 
| 17 | 18 | 
| 18 // Pointers are encoded as relative offsets. The offsets are relative to the | 19 // Pointers are encoded as relative offsets. The offsets are relative to the | 
| 19 // address of where the offset value is stored, such that the pointer may be | 20 // address of where the offset value is stored, such that the pointer may be | 
| 20 // recovered with the expression: | 21 // recovered with the expression: | 
| 21 // | 22 // | 
| 22 //   ptr = reinterpret_cast<char*>(offset) + *offset | 23 //   ptr = reinterpret_cast<char*>(offset) + *offset | 
| 23 // | 24 // | 
| 24 // A null pointer is encoded as an offset value of 0. | 25 // A null pointer is encoded as an offset value of 0. | 
| 25 // | 26 // | 
| 26 void EncodePointer(const void* ptr, uint64_t* offset); | 27 void EncodePointer(const void* ptr, uint64_t* offset); | 
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 58     if (!obj->ptr->DecodePointersAndHandles(message)) | 59     if (!obj->ptr->DecodePointersAndHandles(message)) | 
| 59       return false; | 60       return false; | 
| 60   } | 61   } | 
| 61   return true; | 62   return true; | 
| 62 } | 63 } | 
| 63 | 64 | 
| 64 }  // namespace internal | 65 }  // namespace internal | 
| 65 }  // namespace mojo | 66 }  // namespace mojo | 
| 66 | 67 | 
| 67 #endif  // MOJO_PUBLIC_CPP_BINDINGS_LIB_BINDINGS_SERIALIZATION_H_ | 68 #endif  // MOJO_PUBLIC_CPP_BINDINGS_LIB_BINDINGS_SERIALIZATION_H_ | 
| OLD | NEW | 
|---|