gecko/ipc/ipdl/test/cxx/PTestArrays.ipdl

110 lines
2.0 KiB
Plaintext
Raw Normal View History

include protocol "PTestArraysSub.ipdl";
namespace mozilla {
namespace _ipdltest {
union IntDouble {
int;
double;
};
union IntDoubleArrays {
int;
int[];
double[];
};
union Actors {
int;
int[];
PTestArraysSub[];
};
union Unions {
int;
int[];
PTestArraysSub[];
Actors[];
};
sync protocol PTestArrays {
manages PTestArraysSub;
child:
PTestArraysSub(int i);
Start();
parent:
__delete__();
sync Test1(int[] i1)
returns (int[] o1);
sync Test2(PTestArraysSub[] i1)
returns (PTestArraysSub[] o1);
sync Test3(IntDouble i1,
IntDouble i2)
returns (IntDouble o1,
IntDouble o2);
sync Test4(IntDouble[] i1)
returns (IntDouble[] o1);
sync Test5(IntDoubleArrays i1,
IntDoubleArrays i2,
IntDoubleArrays i3)
returns (IntDoubleArrays o1,
IntDoubleArrays o2,
IntDoubleArrays o3);
sync Test6(IntDoubleArrays[] i1)
returns (IntDoubleArrays[] o1);
sync Test7(Actors i1,
Actors i2,
Actors i3)
returns (Actors o1,
Actors o2,
Actors o3);
sync Test8(Actors[] i1)
returns (Actors[] o1);
sync Test9(Unions i1,
Unions i2,
Unions i3,
Unions i4)
returns (Unions o1,
Unions o2,
Unions o3,
Unions o4);
sync Test10(Unions[] i1)
returns (Unions[] o1);
state START:
send Start goto TEST1;
state TEST1: recv Test1 goto TEST2;
state TEST2: recv Test2 goto TEST3;
state TEST3: recv Test3 goto TEST4;
state TEST4: recv Test4 goto TEST5;
state TEST5: recv Test5 goto TEST6;
state TEST6: recv Test6 goto TEST7;
state TEST7: recv Test7 goto TEST8;
state TEST8: recv Test8 goto TEST9;
state TEST9: recv Test9 goto TEST10;
state TEST10: recv Test10 goto DEAD;
state DEAD:
recv __delete__;
};
} // namespace _ipdltest
} // namespace mozilla