| 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 |