ipc/ipdl/test/cxx/TestBridgeMain.h

changeset 0
6474c204b198
equal deleted inserted replaced
-1:000000000000 0:3557431fadd0
1 #ifndef mozilla__ipdltest_TestBridgeMain_h
2 #define mozilla__ipdltest_TestBridgeMain_h 1
3
4 #include "mozilla/_ipdltest/IPDLUnitTests.h"
5
6 #include "mozilla/_ipdltest/PTestBridgeMainParent.h"
7 #include "mozilla/_ipdltest/PTestBridgeMainChild.h"
8
9 #include "mozilla/_ipdltest/PTestBridgeSubParent.h"
10 #include "mozilla/_ipdltest/PTestBridgeSubChild.h"
11
12 #include "mozilla/_ipdltest/PTestBridgeMainSubParent.h"
13 #include "mozilla/_ipdltest/PTestBridgeMainSubChild.h"
14
15 namespace mozilla {
16 namespace _ipdltest {
17
18 //-----------------------------------------------------------------------------
19 // "Main" process
20 //
21 class TestBridgeMainParent :
22 public PTestBridgeMainParent
23 {
24 public:
25 TestBridgeMainParent() {}
26 virtual ~TestBridgeMainParent() {}
27
28 static bool RunTestInProcesses() { return true; }
29 static bool RunTestInThreads() { return false; }
30
31 void Main();
32
33 protected:
34 virtual PTestBridgeMainSubParent*
35 AllocPTestBridgeMainSubParent(Transport* transport,
36 ProcessId otherProcess) MOZ_OVERRIDE;
37
38 virtual void ActorDestroy(ActorDestroyReason why) MOZ_OVERRIDE;
39 };
40
41 class TestBridgeMainSubParent :
42 public PTestBridgeMainSubParent
43 {
44 public:
45 TestBridgeMainSubParent(Transport* aTransport)
46 : mTransport(aTransport)
47 {}
48 virtual ~TestBridgeMainSubParent() {}
49
50 protected:
51 virtual bool RecvHello() MOZ_OVERRIDE;
52 virtual bool RecvHelloSync() MOZ_OVERRIDE;
53 virtual bool AnswerHelloRpc() MOZ_OVERRIDE;
54
55 virtual void ActorDestroy(ActorDestroyReason why) MOZ_OVERRIDE;
56
57 Transport* mTransport;
58 };
59
60 //-----------------------------------------------------------------------------
61 // "Sub" process --- child of "main"
62 //
63 class TestBridgeSubParent;
64
65 class TestBridgeMainChild :
66 public PTestBridgeMainChild
67 {
68 public:
69 TestBridgeMainChild();
70 virtual ~TestBridgeMainChild() {}
71
72 protected:
73 virtual bool RecvStart() MOZ_OVERRIDE;
74
75 virtual void ActorDestroy(ActorDestroyReason why) MOZ_OVERRIDE;
76
77 IPDLUnitTestSubprocess* mSubprocess;
78 };
79
80 class TestBridgeSubParent :
81 public PTestBridgeSubParent
82 {
83 public:
84 TestBridgeSubParent() {}
85 virtual ~TestBridgeSubParent() {}
86
87 void Main();
88
89 protected:
90 virtual bool RecvBridgeEm() MOZ_OVERRIDE;
91
92 virtual void ActorDestroy(ActorDestroyReason why) MOZ_OVERRIDE;
93 };
94
95 //-----------------------------------------------------------------------------
96 // "Subsub" process --- child of "sub"
97 //
98 class TestBridgeSubChild :
99 public PTestBridgeSubChild
100 {
101 public:
102 TestBridgeSubChild();
103 virtual ~TestBridgeSubChild() {}
104
105 protected:
106 virtual bool RecvPing() MOZ_OVERRIDE;
107
108 virtual PTestBridgeMainSubChild*
109 AllocPTestBridgeMainSubChild(Transport* transport,
110 ProcessId otherProcess) MOZ_OVERRIDE;
111
112 virtual void ActorDestroy(ActorDestroyReason why) MOZ_OVERRIDE;
113 };
114
115 class TestBridgeMainSubChild :
116 public PTestBridgeMainSubChild
117 {
118 public:
119 TestBridgeMainSubChild(Transport* aTransport)
120 : mGotHi(false)
121 , mTransport(aTransport)
122 {}
123 virtual ~TestBridgeMainSubChild() {}
124
125 protected:
126 virtual bool RecvHi() MOZ_OVERRIDE;
127 virtual bool AnswerHiRpc() MOZ_OVERRIDE;
128
129 virtual void ActorDestroy(ActorDestroyReason why) MOZ_OVERRIDE;
130
131 bool mGotHi;
132 Transport* mTransport;
133 };
134
135 } // namespace _ipdltest
136 } // namespace mozilla
137
138
139 #endif // ifndef mozilla__ipdltest_TestBridgeMain_h

mercurial