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

Side by Side Diff: mojo/public/c/include/mojo/bindings/internal/type_descriptor.h

Issue 2232833003: Change the canonical way to include the C bindings headers to <mojo/bindings/*.h>. (Closed) Base URL: https://github.com/domokit/mojo.git@work791_mojo_tests
Patch Set: rebased Created 4 years, 4 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
OLDNEW
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 // This file contains structs used for constructing type descriptors for 5 // This file contains structs used for constructing type descriptors for
6 // generated mojom types. A type descriptor for a mojom struct is a table 6 // generated mojom types. A type descriptor for a mojom struct is a table
7 // describing the byte-offsets of all the pointers and handles in the struct, 7 // describing the byte-offsets of all the pointers and handles in the struct,
8 // and has references to the type descriptorss that further describe the 8 // and has references to the type descriptorss that further describe the
9 // pointers. The table is used for doing all computations for the struct -- 9 // pointers. The table is used for doing all computations for the struct --
10 // determining serialized size, encoding and decoding recursively, etc. A type 10 // determining serialized size, encoding and decoding recursively, etc. A type
11 // descriptor is generated for each struct, union, array and map. Mojom maps are 11 // descriptor is generated for each struct, union, array and map. Mojom maps are
12 // just mojom structs with two mojom arrays. We denote it as a separate type, 12 // just mojom structs with two mojom arrays. We denote it as a separate type,
13 // but it is described the same way as a mojom struct. 13 // but it is described the same way as a mojom struct.
14 // 14 //
15 // The user is not expected to construct type descriptors -- a bindings 15 // The user is not expected to construct type descriptors -- a bindings
16 // generator will do this when it generates bindings for a mojom file. 16 // generator will do this when it generates bindings for a mojom file.
17 // 17 //
18 // A type descriptor for a mojom struct is a |MojomTypeDescriptorStruct| 18 // A type descriptor for a mojom struct is a |MojomTypeDescriptorStruct|
19 // containing an array of entries of types of |MojomTypeDescriptorStructEntry|. 19 // containing an array of entries of types of |MojomTypeDescriptorStructEntry|.
20 // Similarly, unions are described with |MojomTypeDescriptorUnion| with entries 20 // Similarly, unions are described with |MojomTypeDescriptorUnion| with entries
21 // of |MojomTypeDescriptorUnionEntry|. Arrays are described with 21 // of |MojomTypeDescriptorUnionEntry|. Arrays are described with
22 // |MojomTypeDescriptorArray|. 22 // |MojomTypeDescriptorArray|.
23 23
24 #ifndef MOJO_PUBLIC_C_BINDINGS_LIB_TYPE_DESCRIPTOR_H_ 24 #ifndef MOJO_PUBLIC_C_INCLUDE_MOJO_BINDINGS_INTERNAL_TYPE_DESCRIPTOR_H_
25 #define MOJO_PUBLIC_C_BINDINGS_LIB_TYPE_DESCRIPTOR_H_ 25 #define MOJO_PUBLIC_C_INCLUDE_MOJO_BINDINGS_INTERNAL_TYPE_DESCRIPTOR_H_
26 26
27 #include <mojo/bindings/buffer.h>
28 #include <mojo/bindings/internal/util.h>
29 #include <mojo/bindings/validation.h>
27 #include <mojo/macros.h> 30 #include <mojo/macros.h>
28 #include <mojo/system/handle.h> 31 #include <mojo/system/handle.h>
29 #include <stdbool.h> 32 #include <stdbool.h>
30 #include <stddef.h> 33 #include <stddef.h>
31 #include <stdint.h> 34 #include <stdint.h>
32 35
33 #include "mojo/public/c/bindings/buffer.h"
34 #include "mojo/public/c/bindings/lib/util.h"
35 #include "mojo/public/c/bindings/validation.h"
36
37 MOJO_BEGIN_EXTERN_C 36 MOJO_BEGIN_EXTERN_C
38 37
39 // This enum is used in a type descriptor entry for the |elem_type| field, and 38 // This enum is used in a type descriptor entry for the |elem_type| field, and
40 // indicates which type the accompanying |elem_descriptor| is describing (if it 39 // indicates which type the accompanying |elem_descriptor| is describing (if it
41 // is describing a reference type), or to indicate that it's a handle type. 40 // is describing a reference type), or to indicate that it's a handle type.
42 // Values that correspond to an |elem_descriptor|'s pointer type: 41 // Values that correspond to an |elem_descriptor|'s pointer type:
43 // - If MOJOM_TYPE_DESCRIPTOR_TYPE_STRUCT_PTR, then |elem_descriptor| points to 42 // - If MOJOM_TYPE_DESCRIPTOR_TYPE_STRUCT_PTR, then |elem_descriptor| points to
44 // a |MojomTypeDescriptorStruct|. 43 // a |MojomTypeDescriptorStruct|.
45 // - If MOJOM_TYPE_DESCRIPTOR_TYPE_MAP_PTR, then |elem_descriptor| points to 44 // - If MOJOM_TYPE_DESCRIPTOR_TYPE_MAP_PTR, then |elem_descriptor| points to
46 // a |MojomTypeDescriptorStruct|. 45 // a |MojomTypeDescriptorStruct|.
(...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after
209 // new union before dispatching a call to MojomUnion_DeepCopy. Returns false if 208 // new union before dispatching a call to MojomUnion_DeepCopy. Returns false if
210 // the copy failed due to insufficient space in the buffer. 209 // the copy failed due to insufficient space in the buffer.
211 bool MojomType_DispatchDeepCopy(struct MojomBuffer* buffer, 210 bool MojomType_DispatchDeepCopy(struct MojomBuffer* buffer,
212 enum MojomTypeDescriptorType in_elem_type, 211 enum MojomTypeDescriptorType in_elem_type,
213 const void* in_type_desc, 212 const void* in_type_desc,
214 const void* in_data, 213 const void* in_data,
215 void* out_data); 214 void* out_data);
216 215
217 MOJO_END_EXTERN_C 216 MOJO_END_EXTERN_C
218 217
219 #endif // MOJO_PUBLIC_C_BINDINGS_LIB_TYPE_DESCRIPTOR_H_ 218 #endif // MOJO_PUBLIC_C_INCLUDE_MOJO_BINDINGS_INTERNAL_TYPE_DESCRIPTOR_H_
OLDNEW
« no previous file with comments | « mojo/public/c/include/mojo/bindings/interface.h ('k') | mojo/public/c/include/mojo/bindings/internal/util.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698