1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/ipc/ipdl/test/cxx/PTestDataStructuresCommon.ipdlh Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,107 @@ 1.4 +include protocol PTestDataStructuresSub; 1.5 + 1.6 +using struct mozilla::null_t from "ipc/IPCMessageUtils.h"; 1.7 +using nsIntRegion from "nsRegion.h"; 1.8 + 1.9 +namespace mozilla { 1.10 +namespace _foo { 1.11 + 1.12 +union IntDouble { 1.13 + int; 1.14 + double; 1.15 +}; 1.16 + 1.17 +struct SIntDouble { 1.18 + int i; 1.19 + double d; 1.20 +}; 1.21 + 1.22 +union IntDoubleArrays { 1.23 + int; 1.24 + int[]; 1.25 + double[]; 1.26 +}; 1.27 + 1.28 +struct SIntDoubleArrays { 1.29 + int i; 1.30 + int[] ai; 1.31 + double[] ad; 1.32 +}; 1.33 + 1.34 +struct ActorWrapper { 1.35 + PTestDataStructuresSub actor; 1.36 +}; 1.37 + 1.38 +union Actors { 1.39 + int; 1.40 + int[]; 1.41 + PTestDataStructuresSub[]; 1.42 +}; 1.43 + 1.44 +struct SActors { 1.45 + int i; 1.46 + int[] ai; 1.47 + PTestDataStructuresSub[] ap; 1.48 +}; 1.49 + 1.50 +union Unions { 1.51 + int; 1.52 + int[]; 1.53 + PTestDataStructuresSub[]; 1.54 + Actors[]; 1.55 +}; 1.56 + 1.57 +struct Structs { 1.58 + int i; 1.59 + int[] ai; 1.60 + PTestDataStructuresSub[] ap; 1.61 + SActors[] aa; 1.62 +}; 1.63 + 1.64 +union WithStructs { 1.65 + int; 1.66 + int[]; 1.67 + PTestDataStructuresSub[]; 1.68 + SActors[]; 1.69 + Structs[]; 1.70 +}; 1.71 + 1.72 +struct WithUnions { 1.73 + int i; 1.74 + int[] ai; 1.75 + PTestDataStructuresSub[] ap; 1.76 + Actors[] aa; 1.77 + Unions[] au; 1.78 +}; 1.79 + 1.80 +struct CommonAttrs { bool dummy; }; 1.81 +struct FooAttrs { int dummy; }; 1.82 +struct BarAttrs { float dummy; }; 1.83 +union SpecificAttrs { 1.84 + FooAttrs; 1.85 + BarAttrs; 1.86 +}; 1.87 +struct Attrs { 1.88 + CommonAttrs common; 1.89 + SpecificAttrs specific; 1.90 +}; 1.91 +struct SetAttrs { 1.92 + PTestDataStructuresSub x; 1.93 + Attrs attrs; 1.94 +}; 1.95 +union Op { null_t; SetAttrs; }; 1.96 + 1.97 +struct ShmemStruct { 1.98 + int i; 1.99 + Shmem mem; 1.100 +}; 1.101 + 1.102 +union ShmemUnion { 1.103 + int; 1.104 + Shmem; 1.105 +}; 1.106 + 1.107 +struct Empty { }; 1.108 + 1.109 +} // namespace _foo 1.110 +} // namespace mozilla