summaryrefslogtreecommitdiffstats
path: root/ipc/ipdl/test/cxx/PTestBridgeMainSub.ipdl
blob: 67e50fdd46bc9053e92668fdf8590512f920a6d9 (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
include protocol PTestBridgeMain;
include protocol PTestBridgeSub;

namespace mozilla {
namespace _ipdltest {

// (Bridge protocols can have different semantics than the endpoints
// they bridge)
intr protocol PTestBridgeMainSub {
    bridges PTestBridgeMain, PTestBridgeSub;

child:
    async Hi();
    intr HiRpc();

parent:
    async Hello();
    sync HelloSync();
    intr HelloRpc();
    async __delete__();

state START:       recv Hello goto HI;
state HI:          send Hi goto HELLO_SYNC;
state HELLO_SYNC:  recv HelloSync goto HELLO_RPC;
state HELLO_RPC:   answer HelloRpc goto HI_RPC;
state HI_RPC:      call HiRpc goto DEAD;
state DEAD:
    recv __delete__;
};


} // namespace mozilla
} // namespace _ipdltest