summaryrefslogtreecommitdiffstats
path: root/ipc/ipdl/test/gtest/PTestDataStructures.ipdl
blob: 7b2bdd3ced0eb58735dd59c45d189388b7e064ed (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
include protocol PTestDataStructuresSub;
include PTestDataStructuresCommon;

include "mozilla/GfxMessageUtils.h";

namespace mozilla {
namespace _ipdltest {

[ChildProc=any, ChildImpl=virtual, ParentImpl=virtual]
sync protocol PTestDataStructures {
    manages PTestDataStructuresSub;

child:
    async PTestDataStructuresSub(int i);

    async Start();

parent:
    async __delete__();

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

    sync TestArrayOfActor(PTestDataStructuresSub[] i1)
        returns (PTestDataStructuresSub[] o1);

    sync TestUnion(IntDouble i1,
               IntDouble i2)
        returns (IntDouble o1,
                 IntDouble o2);

    sync TestArrayOfUnion(IntDouble[] i1)
        returns (IntDouble[] o1);

    sync TestUnionWithArray(IntDoubleArrays i1,
               IntDoubleArrays i2,
               IntDoubleArrays i3)
        returns (IntDoubleArrays o1,
                 IntDoubleArrays o2,
                 IntDoubleArrays o3);

    sync TestArrayOfUnionWithArray(IntDoubleArrays[] i1)
        returns (IntDoubleArrays[] o1);

    sync TestStructWithActor(ActorWrapper a1)
        returns (ActorWrapper o1);

    sync TestUnionWithActors(Actors i1,
               Actors i2,
               Actors i3)
        returns (Actors o1,
                 Actors o2,
                 Actors o3);

    sync TestArrayOfUnionWithActors(Actors[] i1)
        returns (Actors[] o1);

    sync TestUnions(Unions i1,
               Unions i2,
               Unions i3,
               Unions i4)
        returns (Unions o1,
                 Unions o2,
                 Unions o3,
                 Unions o4);

    sync TestArrayOfUnions(Unions[] i1)
        returns (Unions[] o1);

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

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

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

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

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

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

    sync TestUnionWithCxx(Op[] ops);

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

} // namespace _ipdltest
} // namespace mozilla