PTestDataStructuresCommon.ipdlh (1502B)
1 include protocol PTestDataStructuresSub; 2 3 using struct mozilla::null_t from "mozilla/ipc/IPCCore.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 nullable 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