michael@0: include protocol PTestDataStructuresSub; michael@0: include PTestDataStructuresCommon; michael@0: michael@0: include "mozilla/GfxMessageUtils.h"; michael@0: michael@0: namespace mozilla { michael@0: namespace _ipdltest { michael@0: michael@0: sync protocol PTestDataStructures { michael@0: manages PTestDataStructuresSub; michael@0: michael@0: child: michael@0: PTestDataStructuresSub(int i); michael@0: michael@0: Start(); michael@0: michael@0: parent: michael@0: __delete__(); michael@0: michael@0: sync Test1(int[] i1) michael@0: returns (int[] o1); michael@0: michael@0: sync Test2(PTestDataStructuresSub[] i1) michael@0: returns (PTestDataStructuresSub[] o1); michael@0: michael@0: sync Test3(IntDouble i1, michael@0: IntDouble i2) michael@0: returns (IntDouble o1, michael@0: IntDouble o2); michael@0: michael@0: sync Test4(IntDouble[] i1) michael@0: returns (IntDouble[] o1); michael@0: michael@0: sync Test5(IntDoubleArrays i1, michael@0: IntDoubleArrays i2, michael@0: IntDoubleArrays i3) michael@0: returns (IntDoubleArrays o1, michael@0: IntDoubleArrays o2, michael@0: IntDoubleArrays o3); michael@0: michael@0: sync Test6(IntDoubleArrays[] i1) michael@0: returns (IntDoubleArrays[] o1); michael@0: michael@0: sync Test7_0(ActorWrapper a1) michael@0: returns (ActorWrapper o1); michael@0: michael@0: sync Test7(Actors i1, michael@0: Actors i2, michael@0: Actors i3) michael@0: returns (Actors o1, michael@0: Actors o2, michael@0: Actors o3); michael@0: michael@0: sync Test8(Actors[] i1) michael@0: returns (Actors[] o1); michael@0: michael@0: sync Test9(Unions i1, michael@0: Unions i2, michael@0: Unions i3, michael@0: Unions i4) michael@0: returns (Unions o1, michael@0: Unions o2, michael@0: Unions o3, michael@0: Unions o4); michael@0: michael@0: sync Test10(Unions[] i1) michael@0: returns (Unions[] o1); michael@0: michael@0: sync Test11(SIntDouble i) michael@0: returns (SIntDouble o); michael@0: michael@0: sync Test12(SIntDoubleArrays i) michael@0: returns (SIntDoubleArrays o); michael@0: michael@0: sync Test13(SActors i) michael@0: returns (SActors o); michael@0: michael@0: sync Test14(Structs i) michael@0: returns (Structs o); michael@0: michael@0: sync Test15(WithStructs i1, michael@0: WithStructs i2, michael@0: WithStructs i3, michael@0: WithStructs i4, michael@0: WithStructs i5) michael@0: returns (WithStructs o1, michael@0: WithStructs o2, michael@0: WithStructs o3, michael@0: WithStructs o4, michael@0: WithStructs o5); michael@0: michael@0: sync Test16(WithUnions i) michael@0: returns (WithUnions o); michael@0: michael@0: sync Test17(Op[] ops); michael@0: michael@0: // test that the ParamTraits::Read() workaround for michael@0: // nsTArray's incorrect memmove() semantics works properly michael@0: // (nsIntRegion isn't memmove()able) michael@0: sync Test18(nsIntRegion[] ops); michael@0: michael@0: sync Dummy(ShmemUnion su) returns (ShmemUnion rsu); michael@0: michael@0: state CONSTRUCTING: michael@0: send PTestDataStructuresSub goto CONSTRUCTING; michael@0: send Start goto TEST1; michael@0: state TEST1: recv Test1 goto TEST2; michael@0: state TEST2: recv Test2 goto TEST3; michael@0: state TEST3: recv Test3 goto TEST4; michael@0: state TEST4: recv Test4 goto TEST5; michael@0: state TEST5: recv Test5 goto TEST6; michael@0: state TEST6: recv Test6 goto TEST7; michael@0: state TEST7: recv Test7 goto TEST8; michael@0: state TEST8: recv Test8 goto TEST9; michael@0: state TEST9: recv Test9 goto TEST10; michael@0: state TEST10: recv Test10 goto TEST11; michael@0: state TEST11: recv Test11 goto TEST12; michael@0: state TEST12: recv Test12 goto TEST13; michael@0: state TEST13: recv Test13 goto TEST14; michael@0: state TEST14: recv Test14 goto TEST15; michael@0: state TEST15: recv Test15 goto TEST16; michael@0: state TEST16: recv Test16 goto TEST17; michael@0: state TEST17: recv Test17 goto TEST18; michael@0: state TEST18: recv Test18 goto DEAD; michael@0: michael@0: state DEAD: michael@0: recv __delete__; michael@0: }; michael@0: michael@0: } // namespace _ipdltest michael@0: } // namespace mozilla michael@0: