ipc/ipdl/test/cxx/TestDesc.cpp

branch
TOR_BUG_3246
changeset 6
8bccb770b82d
equal deleted inserted replaced
-1:000000000000 0:ff9ec11f9cd3
1 #include "TestDesc.h"
2
3 #include "IPDLUnitTests.h" // fail etc.
4
5 namespace mozilla {
6 namespace _ipdltest {
7
8 //-----------------------------------------------------------------------------
9 // parent
10 void
11 TestDescParent::Main()
12 {
13 PTestDescSubParent* p = CallPTestDescSubConstructor(0);
14 if (!p)
15 fail("can't allocate Sub");
16
17 PTestDescSubsubParent* pp = p->CallPTestDescSubsubConstructor();
18 if (!pp)
19 fail("can't allocate Subsub");
20
21 if (!SendTest(pp))
22 fail("can't send Subsub");
23 }
24
25 bool
26 TestDescParent::RecvOk(PTestDescSubsubParent* a)
27 {
28 if (!a)
29 fail("didn't receive Subsub");
30
31 if (!PTestDescSubsubParent::Call__delete__(a))
32 fail("deleting Subsub");
33
34 Close();
35
36 return true;
37 }
38
39
40 PTestDescSubParent*
41 TestDescParent::AllocPTestDescSubParent(PTestDescSubsubParent* dummy) {
42 if (dummy)
43 fail("actor supposed to be null");
44 return new TestDescSubParent();
45 }
46 bool
47 TestDescParent::DeallocPTestDescSubParent(PTestDescSubParent* actor)
48 {
49 delete actor;
50 return true;
51 }
52
53 PTestDescSubsubParent*
54 TestDescSubParent::AllocPTestDescSubsubParent()
55 {
56 return new TestDescSubsubParent();
57 }
58 bool
59 TestDescSubParent::DeallocPTestDescSubsubParent(PTestDescSubsubParent* actor)
60 {
61 delete actor;
62 return true;
63 }
64
65
66 //-----------------------------------------------------------------------------
67 // child
68
69 bool
70 TestDescChild::RecvTest(PTestDescSubsubChild* a)
71 {
72 if (!a)
73 fail("didn't receive Subsub");
74 if (!SendOk(a))
75 fail("couldn't send Ok()");
76 return true;
77 }
78
79 PTestDescSubChild*
80 TestDescChild::AllocPTestDescSubChild(PTestDescSubsubChild* dummy) {
81 if (dummy)
82 fail("actor supposed to be null");
83 return new TestDescSubChild();
84 }
85 bool
86 TestDescChild::DeallocPTestDescSubChild(PTestDescSubChild* actor)
87 {
88 delete actor;
89 return true;
90 }
91
92 PTestDescSubsubChild*
93 TestDescSubChild::AllocPTestDescSubsubChild()
94 {
95 return new TestDescSubsubChild();
96 }
97 bool
98 TestDescSubChild::DeallocPTestDescSubsubChild(PTestDescSubsubChild* actor)
99 {
100 delete actor;
101 return true;
102 }
103
104 } // namespace _ipdltest
105 } // namespace mozilla

mercurial