summaryrefslogtreecommitdiffstats
path: root/ipc/ipdl/test/cxx/PTestDataStructures.ipdl
blob: 64b69706660693baf374e03d7fb29cbbe158898c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
include protocol PTestDataStructuresSub;
include PTestDataStructuresCommon;

include "mozilla/GfxMessageUtils.h";
include "mozilla/_ipdltest/TestDataStructures.h";

namespace mozilla {
namespace _ipdltest {

[ManualDealloc, ChildImpl="TestDataStructuresChild", ParentImpl="TestDataStructuresParent"]
sync protocol PTestDataStructures {
    manages PTestDataStructuresSub;

child:
    async PTestDataStructuresSub(int i);

    async Start();

parent:
    async __delete__();

    sync Test1(int[] i1)
        returns (int[] o1);

    sync Test2(PTestDataStructuresSub[] i1)
        returns (PTestDataStructuresSub[] 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_0(ActorWrapper a1)
        returns (ActorWrapper 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);

    sync Test11(SIntDouble i)
        returns (SIntDouble o);

    sync Test12(SIntDoubleArrays i)
        returns (SIntDoubleArrays o);

    sync Test13(SActors i)
        returns (SActors o);

    sync Test14(Structs i)
        returns (Structs o);

    sync Test15(WithStructs i1,
                WithStructs i2,
                WithStructs i3,
                WithStructs i4,
                WithStructs i5)
        returns (WithStructs o1,
                 WithStructs o2,
                 WithStructs o3,
                 WithStructs o4,
                 WithStructs o5);

    sync Test16(WithUnions i)
        returns (WithUnions o);

    sync Test17(Op[] ops);

    // test that the ParamTraits<nsTArray>::Read() workaround for
    // nsTArray's incorrect memmove() semantics works properly
    // (nsIntRegion isn't memmove()able)
    sync Test18(nsIntRegion[] ops);

    sync Dummy(ShmemUnion su) returns (ShmemUnion rsu);
};

} // namespace _ipdltest
} // namespace mozilla