|
1 include protocol PTestDataStructuresSub; |
|
2 |
|
3 using struct mozilla::null_t from "ipc/IPCMessageUtils.h"; |
|
4 using nsIntRegion from "nsRegion.h"; |
|
5 |
|
6 namespace mozilla { |
|
7 namespace _foo { |
|
8 |
|
9 union IntDouble { |
|
10 int; |
|
11 double; |
|
12 }; |
|
13 |
|
14 struct SIntDouble { |
|
15 int i; |
|
16 double d; |
|
17 }; |
|
18 |
|
19 union IntDoubleArrays { |
|
20 int; |
|
21 int[]; |
|
22 double[]; |
|
23 }; |
|
24 |
|
25 struct SIntDoubleArrays { |
|
26 int i; |
|
27 int[] ai; |
|
28 double[] ad; |
|
29 }; |
|
30 |
|
31 struct ActorWrapper { |
|
32 PTestDataStructuresSub actor; |
|
33 }; |
|
34 |
|
35 union Actors { |
|
36 int; |
|
37 int[]; |
|
38 PTestDataStructuresSub[]; |
|
39 }; |
|
40 |
|
41 struct SActors { |
|
42 int i; |
|
43 int[] ai; |
|
44 PTestDataStructuresSub[] ap; |
|
45 }; |
|
46 |
|
47 union Unions { |
|
48 int; |
|
49 int[]; |
|
50 PTestDataStructuresSub[]; |
|
51 Actors[]; |
|
52 }; |
|
53 |
|
54 struct Structs { |
|
55 int i; |
|
56 int[] ai; |
|
57 PTestDataStructuresSub[] ap; |
|
58 SActors[] aa; |
|
59 }; |
|
60 |
|
61 union WithStructs { |
|
62 int; |
|
63 int[]; |
|
64 PTestDataStructuresSub[]; |
|
65 SActors[]; |
|
66 Structs[]; |
|
67 }; |
|
68 |
|
69 struct WithUnions { |
|
70 int i; |
|
71 int[] ai; |
|
72 PTestDataStructuresSub[] ap; |
|
73 Actors[] aa; |
|
74 Unions[] au; |
|
75 }; |
|
76 |
|
77 struct CommonAttrs { bool dummy; }; |
|
78 struct FooAttrs { int dummy; }; |
|
79 struct BarAttrs { float dummy; }; |
|
80 union SpecificAttrs { |
|
81 FooAttrs; |
|
82 BarAttrs; |
|
83 }; |
|
84 struct Attrs { |
|
85 CommonAttrs common; |
|
86 SpecificAttrs specific; |
|
87 }; |
|
88 struct SetAttrs { |
|
89 PTestDataStructuresSub x; |
|
90 Attrs attrs; |
|
91 }; |
|
92 union Op { null_t; SetAttrs; }; |
|
93 |
|
94 struct ShmemStruct { |
|
95 int i; |
|
96 Shmem mem; |
|
97 }; |
|
98 |
|
99 union ShmemUnion { |
|
100 int; |
|
101 Shmem; |
|
102 }; |
|
103 |
|
104 struct Empty { }; |
|
105 |
|
106 } // namespace _foo |
|
107 } // namespace mozilla |