| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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_C_BINDINGS_ARRAY_H_ | 5 #ifndef MOJO_PUBLIC_C_BINDINGS_ARRAY_H_ |
| 6 #define MOJO_PUBLIC_C_BINDINGS_ARRAY_H_ | 6 #define MOJO_PUBLIC_C_BINDINGS_ARRAY_H_ |
| 7 | 7 |
| 8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 | 9 |
| 10 #include "mojo/public/c/bindings/buffer.h" | 10 #include "mojo/public/c/bindings/buffer.h" |
| (...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 107 // |inout_context|: An initialized context that contains the expected location | 107 // |inout_context|: An initialized context that contains the expected location |
| 108 // of the next pointer and next offset. This is used to | 108 // of the next pointer and next offset. This is used to |
| 109 // validate that no two pointers or handles are shared. | 109 // validate that no two pointers or handles are shared. |
| 110 MojomValidationResult MojomArray_Validate( | 110 MojomValidationResult MojomArray_Validate( |
| 111 const struct MojomTypeDescriptorArray* in_type_desc, | 111 const struct MojomTypeDescriptorArray* in_type_desc, |
| 112 const struct MojomArrayHeader* in_array, | 112 const struct MojomArrayHeader* in_array, |
| 113 uint32_t in_array_size, | 113 uint32_t in_array_size, |
| 114 uint32_t in_num_handles, | 114 uint32_t in_num_handles, |
| 115 struct MojomValidationContext* inout_context); | 115 struct MojomValidationContext* inout_context); |
| 116 | 116 |
| 117 // Creates a new copy of |in_array| using |buffer| to allocate space. |
| 118 // Recursively creates new copies of any references from |in_array|, and updates |
| 119 // the references to point to the new copies. This operation is useful if you |
| 120 // want to linearize |in_array| using the buffer backed by |buffer|. If there is |
| 121 // insufficient space in the buffer or has unknown-typed data, this function |
| 122 // returns false and the supplied buffer may be partially used. Otherwise, |
| 123 // |out_array| is set to the new copy of the struct. |
| 124 // |buffer|: A mojom buffer used to allocate space for the new array. |
| 125 // |in_type_desc|: Describes the pointer and handle fields of the mojom array. |
| 126 // |in_array|: The unencoded mojom array to be copied. |
| 127 // |out_array|: Will be set to the new unencoded mojom array. |
| 128 bool MojomArray_DeepCopy(struct MojomBuffer* buffer, |
| 129 const struct MojomTypeDescriptorArray* in_type_desc, |
| 130 const struct MojomArrayHeader* in_array, |
| 131 struct MojomArrayHeader** out_array); |
| 132 |
| 117 MOJO_END_EXTERN_C | 133 MOJO_END_EXTERN_C |
| 118 | 134 |
| 119 #endif // MOJO_PUBLIC_C_BINDINGS_ARRAY_H_ | 135 #endif // MOJO_PUBLIC_C_BINDINGS_ARRAY_H_ |
| OLD | NEW |