summaryrefslogtreecommitdiffstats
path: root/ipc/ipdl/test/ipdl/ok/PMyManager.ipdl
blob: 5e82f53ccaacb41ed5a06d75a1af3c61b8126bda (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
include protocol PMyManaged;
include MyTypes;                          // for MyActorPair

using MyActorEnum from "mozilla/myns/MyActorUtils.h";
using mozilla::myns::MyData from "mozilla/MyDataTypes.h";
[MoveOnly] using class mozilla::myns::MyOtherData from "mozilla/MyDataTypes.h";
[RefCounted] using class mozilla::myns::MyThirdData from "mozilla/MyDataTypes.h";

namespace mozilla {
namespace myns {

[Comparable] union MyUnion {
    float; 
    MyOtherData;
};

sync protocol PMyManager {
  manages PMyManaged;
  parent:
    async __delete__(nsString aNote);
    sync SomeMsg(MyActorPair? aActors, MyData[] aMyData)
        returns (int32_t x, int32_t y, MyUnion aUnion);
    async PMyManaged();
  both:
    [Tainted] async AnotherMsg(MyActorEnum aEnum, int32_t aNumber)
        returns (MyOtherData aOtherData);
};

}    // namespace myns
}    // namespace mozilla