Wed, 31 Dec 2014 13:27:57 +0100
Ignore runtime configuration files generated during quality assurance.
1 #ifndef mozilla__ipdltest_TestBridgeMain_h
2 #define mozilla__ipdltest_TestBridgeMain_h 1
4 #include "mozilla/_ipdltest/IPDLUnitTests.h"
6 #include "mozilla/_ipdltest/PTestBridgeMainParent.h"
7 #include "mozilla/_ipdltest/PTestBridgeMainChild.h"
9 #include "mozilla/_ipdltest/PTestBridgeSubParent.h"
10 #include "mozilla/_ipdltest/PTestBridgeSubChild.h"
12 #include "mozilla/_ipdltest/PTestBridgeMainSubParent.h"
13 #include "mozilla/_ipdltest/PTestBridgeMainSubChild.h"
15 namespace mozilla {
16 namespace _ipdltest {
18 //-----------------------------------------------------------------------------
19 // "Main" process
20 //
21 class TestBridgeMainParent :
22 public PTestBridgeMainParent
23 {
24 public:
25 TestBridgeMainParent() {}
26 virtual ~TestBridgeMainParent() {}
28 static bool RunTestInProcesses() { return true; }
29 static bool RunTestInThreads() { return false; }
31 void Main();
33 protected:
34 virtual PTestBridgeMainSubParent*
35 AllocPTestBridgeMainSubParent(Transport* transport,
36 ProcessId otherProcess) MOZ_OVERRIDE;
38 virtual void ActorDestroy(ActorDestroyReason why) MOZ_OVERRIDE;
39 };
41 class TestBridgeMainSubParent :
42 public PTestBridgeMainSubParent
43 {
44 public:
45 TestBridgeMainSubParent(Transport* aTransport)
46 : mTransport(aTransport)
47 {}
48 virtual ~TestBridgeMainSubParent() {}
50 protected:
51 virtual bool RecvHello() MOZ_OVERRIDE;
52 virtual bool RecvHelloSync() MOZ_OVERRIDE;
53 virtual bool AnswerHelloRpc() MOZ_OVERRIDE;
55 virtual void ActorDestroy(ActorDestroyReason why) MOZ_OVERRIDE;
57 Transport* mTransport;
58 };
60 //-----------------------------------------------------------------------------
61 // "Sub" process --- child of "main"
62 //
63 class TestBridgeSubParent;
65 class TestBridgeMainChild :
66 public PTestBridgeMainChild
67 {
68 public:
69 TestBridgeMainChild();
70 virtual ~TestBridgeMainChild() {}
72 protected:
73 virtual bool RecvStart() MOZ_OVERRIDE;
75 virtual void ActorDestroy(ActorDestroyReason why) MOZ_OVERRIDE;
77 IPDLUnitTestSubprocess* mSubprocess;
78 };
80 class TestBridgeSubParent :
81 public PTestBridgeSubParent
82 {
83 public:
84 TestBridgeSubParent() {}
85 virtual ~TestBridgeSubParent() {}
87 void Main();
89 protected:
90 virtual bool RecvBridgeEm() MOZ_OVERRIDE;
92 virtual void ActorDestroy(ActorDestroyReason why) MOZ_OVERRIDE;
93 };
95 //-----------------------------------------------------------------------------
96 // "Subsub" process --- child of "sub"
97 //
98 class TestBridgeSubChild :
99 public PTestBridgeSubChild
100 {
101 public:
102 TestBridgeSubChild();
103 virtual ~TestBridgeSubChild() {}
105 protected:
106 virtual bool RecvPing() MOZ_OVERRIDE;
108 virtual PTestBridgeMainSubChild*
109 AllocPTestBridgeMainSubChild(Transport* transport,
110 ProcessId otherProcess) MOZ_OVERRIDE;
112 virtual void ActorDestroy(ActorDestroyReason why) MOZ_OVERRIDE;
113 };
115 class TestBridgeMainSubChild :
116 public PTestBridgeMainSubChild
117 {
118 public:
119 TestBridgeMainSubChild(Transport* aTransport)
120 : mGotHi(false)
121 , mTransport(aTransport)
122 {}
123 virtual ~TestBridgeMainSubChild() {}
125 protected:
126 virtual bool RecvHi() MOZ_OVERRIDE;
127 virtual bool AnswerHiRpc() MOZ_OVERRIDE;
129 virtual void ActorDestroy(ActorDestroyReason why) MOZ_OVERRIDE;
131 bool mGotHi;
132 Transport* mTransport;
133 };
135 } // namespace _ipdltest
136 } // namespace mozilla
139 #endif // ifndef mozilla__ipdltest_TestBridgeMain_h