|
1 #ifndef mozilla_ipdltest_TestDesc_h |
|
2 #define mozilla_ipdltest_TestDesc_h |
|
3 |
|
4 #include "mozilla/_ipdltest/IPDLUnitTests.h" |
|
5 |
|
6 #include "mozilla/_ipdltest/PTestDescParent.h" |
|
7 #include "mozilla/_ipdltest/PTestDescChild.h" |
|
8 |
|
9 #include "mozilla/_ipdltest/PTestDescSubParent.h" |
|
10 #include "mozilla/_ipdltest/PTestDescSubChild.h" |
|
11 |
|
12 #include "mozilla/_ipdltest/PTestDescSubsubParent.h" |
|
13 #include "mozilla/_ipdltest/PTestDescSubsubChild.h" |
|
14 |
|
15 namespace mozilla { |
|
16 namespace _ipdltest { |
|
17 |
|
18 //----------------------------------------------------------------------------- |
|
19 // Top-level |
|
20 // |
|
21 class TestDescParent : |
|
22 public PTestDescParent |
|
23 { |
|
24 public: |
|
25 TestDescParent() { } |
|
26 virtual ~TestDescParent() { } |
|
27 |
|
28 static bool RunTestInProcesses() { return true; } |
|
29 static bool RunTestInThreads() { return true; } |
|
30 |
|
31 void Main(); |
|
32 |
|
33 virtual bool RecvOk(PTestDescSubsubParent* a) MOZ_OVERRIDE; |
|
34 |
|
35 protected: |
|
36 virtual PTestDescSubParent* AllocPTestDescSubParent(PTestDescSubsubParent*) MOZ_OVERRIDE; |
|
37 virtual bool DeallocPTestDescSubParent(PTestDescSubParent* actor) MOZ_OVERRIDE; |
|
38 |
|
39 virtual void ActorDestroy(ActorDestroyReason why) MOZ_OVERRIDE |
|
40 { |
|
41 if (NormalShutdown != why) |
|
42 fail("unexpected destruction!"); |
|
43 passed("ok"); |
|
44 QuitParent(); |
|
45 } |
|
46 }; |
|
47 |
|
48 |
|
49 class TestDescChild : |
|
50 public PTestDescChild |
|
51 { |
|
52 public: |
|
53 TestDescChild() { } |
|
54 virtual ~TestDescChild() { } |
|
55 |
|
56 protected: |
|
57 virtual PTestDescSubChild* AllocPTestDescSubChild(PTestDescSubsubChild*) MOZ_OVERRIDE; |
|
58 |
|
59 virtual bool DeallocPTestDescSubChild(PTestDescSubChild* actor) MOZ_OVERRIDE; |
|
60 |
|
61 virtual bool RecvTest(PTestDescSubsubChild* a) MOZ_OVERRIDE; |
|
62 |
|
63 virtual void ActorDestroy(ActorDestroyReason why) MOZ_OVERRIDE |
|
64 { |
|
65 if (NormalShutdown != why) |
|
66 fail("unexpected destruction!"); |
|
67 QuitChild(); |
|
68 } |
|
69 }; |
|
70 |
|
71 |
|
72 //----------------------------------------------------------------------------- |
|
73 // First descendent |
|
74 // |
|
75 class TestDescSubParent : |
|
76 public PTestDescSubParent |
|
77 { |
|
78 public: |
|
79 TestDescSubParent() { } |
|
80 virtual ~TestDescSubParent() { } |
|
81 |
|
82 protected: |
|
83 virtual PTestDescSubsubParent* AllocPTestDescSubsubParent() MOZ_OVERRIDE; |
|
84 |
|
85 virtual bool DeallocPTestDescSubsubParent(PTestDescSubsubParent* actor) MOZ_OVERRIDE; |
|
86 }; |
|
87 |
|
88 |
|
89 class TestDescSubChild : |
|
90 public PTestDescSubChild |
|
91 { |
|
92 public: |
|
93 TestDescSubChild() { } |
|
94 virtual ~TestDescSubChild() { } |
|
95 |
|
96 protected: |
|
97 virtual PTestDescSubsubChild* AllocPTestDescSubsubChild() MOZ_OVERRIDE; |
|
98 virtual bool DeallocPTestDescSubsubChild(PTestDescSubsubChild* actor) MOZ_OVERRIDE; |
|
99 }; |
|
100 |
|
101 |
|
102 //----------------------------------------------------------------------------- |
|
103 // Grand-descendent |
|
104 // |
|
105 class TestDescSubsubParent : |
|
106 public PTestDescSubsubParent |
|
107 { |
|
108 public: |
|
109 TestDescSubsubParent() { } |
|
110 virtual ~TestDescSubsubParent() { } |
|
111 }; |
|
112 |
|
113 class TestDescSubsubChild : |
|
114 public PTestDescSubsubChild |
|
115 { |
|
116 public: |
|
117 TestDescSubsubChild() { } |
|
118 virtual ~TestDescSubsubChild() { } |
|
119 }; |
|
120 |
|
121 |
|
122 } |
|
123 } |
|
124 |
|
125 #endif // ifndef mozilla_ipdltest_TestDesc_h |