1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/ipc/ipdl/test/cxx/TestMultiMgrs.h Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,243 @@ 1.4 +#ifndef mozilla__ipdltest_TestMultiMgrs_h 1.5 +#define mozilla__ipdltest_TestMultiMgrs_h 1 1.6 + 1.7 +#include "mozilla/_ipdltest/IPDLUnitTests.h" 1.8 + 1.9 +#include "mozilla/_ipdltest/PTestMultiMgrsParent.h" 1.10 +#include "mozilla/_ipdltest/PTestMultiMgrsChild.h" 1.11 +#include "mozilla/_ipdltest/PTestMultiMgrsBottomParent.h" 1.12 +#include "mozilla/_ipdltest/PTestMultiMgrsBottomChild.h" 1.13 +#include "mozilla/_ipdltest/PTestMultiMgrsLeftParent.h" 1.14 +#include "mozilla/_ipdltest/PTestMultiMgrsLeftChild.h" 1.15 +#include "mozilla/_ipdltest/PTestMultiMgrsRightParent.h" 1.16 +#include "mozilla/_ipdltest/PTestMultiMgrsRightChild.h" 1.17 + 1.18 +namespace mozilla { 1.19 +namespace _ipdltest { 1.20 + 1.21 +//----------------------------------------------------------------------------- 1.22 +// Parent side 1.23 +// 1.24 + 1.25 +class TestMultiMgrsBottomParent : 1.26 + public PTestMultiMgrsBottomParent 1.27 +{ 1.28 +public: 1.29 + TestMultiMgrsBottomParent() { } 1.30 + virtual ~TestMultiMgrsBottomParent() { } 1.31 +}; 1.32 + 1.33 +class TestMultiMgrsLeftParent : 1.34 + public PTestMultiMgrsLeftParent 1.35 +{ 1.36 +public: 1.37 + TestMultiMgrsLeftParent() { } 1.38 + virtual ~TestMultiMgrsLeftParent() { } 1.39 + 1.40 + bool HasChild(TestMultiMgrsBottomParent* c) 1.41 + { 1.42 + return ManagedPTestMultiMgrsBottomParent().Contains(c); 1.43 + } 1.44 + 1.45 +protected: 1.46 + virtual PTestMultiMgrsBottomParent* AllocPTestMultiMgrsBottomParent() MOZ_OVERRIDE 1.47 + { 1.48 + return new TestMultiMgrsBottomParent(); 1.49 + } 1.50 + 1.51 + virtual bool DeallocPTestMultiMgrsBottomParent(PTestMultiMgrsBottomParent* actor) MOZ_OVERRIDE 1.52 + { 1.53 + delete actor; 1.54 + return true; 1.55 + } 1.56 +}; 1.57 + 1.58 +class TestMultiMgrsRightParent : 1.59 + public PTestMultiMgrsRightParent 1.60 +{ 1.61 +public: 1.62 + TestMultiMgrsRightParent() { } 1.63 + virtual ~TestMultiMgrsRightParent() { } 1.64 + 1.65 + bool HasChild(TestMultiMgrsBottomParent* c) 1.66 + { 1.67 + return ManagedPTestMultiMgrsBottomParent().Contains(c); 1.68 + } 1.69 + 1.70 +protected: 1.71 + virtual PTestMultiMgrsBottomParent* AllocPTestMultiMgrsBottomParent() MOZ_OVERRIDE 1.72 + { 1.73 + return new TestMultiMgrsBottomParent(); 1.74 + } 1.75 + 1.76 + virtual bool DeallocPTestMultiMgrsBottomParent(PTestMultiMgrsBottomParent* actor) MOZ_OVERRIDE 1.77 + { 1.78 + delete actor; 1.79 + return true; 1.80 + } 1.81 +}; 1.82 + 1.83 +class TestMultiMgrsParent : 1.84 + public PTestMultiMgrsParent 1.85 +{ 1.86 +public: 1.87 + TestMultiMgrsParent() { } 1.88 + virtual ~TestMultiMgrsParent() { } 1.89 + 1.90 + static bool RunTestInProcesses() { return true; } 1.91 + static bool RunTestInThreads() { return true; } 1.92 + 1.93 + void Main(); 1.94 + 1.95 +protected: 1.96 + virtual bool RecvOK() MOZ_OVERRIDE; 1.97 + 1.98 + virtual PTestMultiMgrsLeftParent* AllocPTestMultiMgrsLeftParent() MOZ_OVERRIDE 1.99 + { 1.100 + return new TestMultiMgrsLeftParent(); 1.101 + } 1.102 + 1.103 + virtual bool DeallocPTestMultiMgrsLeftParent(PTestMultiMgrsLeftParent* actor) MOZ_OVERRIDE 1.104 + { 1.105 + delete actor; 1.106 + return true; 1.107 + } 1.108 + 1.109 + virtual PTestMultiMgrsRightParent* AllocPTestMultiMgrsRightParent() MOZ_OVERRIDE 1.110 + { 1.111 + return new TestMultiMgrsRightParent(); 1.112 + } 1.113 + 1.114 + virtual bool DeallocPTestMultiMgrsRightParent(PTestMultiMgrsRightParent* actor) MOZ_OVERRIDE 1.115 + { 1.116 + delete actor; 1.117 + return true; 1.118 + } 1.119 + 1.120 + virtual void ActorDestroy(ActorDestroyReason why) MOZ_OVERRIDE 1.121 + { 1.122 + if (NormalShutdown != why) 1.123 + fail("unexpected destruction!"); 1.124 + passed("ok"); 1.125 + QuitParent(); 1.126 + } 1.127 +}; 1.128 + 1.129 +//----------------------------------------------------------------------------- 1.130 +// Child side 1.131 +// 1.132 + 1.133 +class TestMultiMgrsBottomChild : 1.134 + public PTestMultiMgrsBottomChild 1.135 +{ 1.136 +public: 1.137 + TestMultiMgrsBottomChild() { } 1.138 + virtual ~TestMultiMgrsBottomChild() { } 1.139 +}; 1.140 + 1.141 +class TestMultiMgrsLeftChild : 1.142 + public PTestMultiMgrsLeftChild 1.143 +{ 1.144 +public: 1.145 + TestMultiMgrsLeftChild() { } 1.146 + virtual ~TestMultiMgrsLeftChild() { } 1.147 + 1.148 + bool HasChild(PTestMultiMgrsBottomChild* c) 1.149 + { 1.150 + return ManagedPTestMultiMgrsBottomChild().Contains(c); 1.151 + } 1.152 + 1.153 +protected: 1.154 + virtual bool RecvPTestMultiMgrsBottomConstructor(PTestMultiMgrsBottomChild* actor) MOZ_OVERRIDE; 1.155 + 1.156 + virtual PTestMultiMgrsBottomChild* AllocPTestMultiMgrsBottomChild() MOZ_OVERRIDE 1.157 + { 1.158 + return new TestMultiMgrsBottomChild(); 1.159 + } 1.160 + 1.161 + virtual bool DeallocPTestMultiMgrsBottomChild(PTestMultiMgrsBottomChild* actor) MOZ_OVERRIDE 1.162 + { 1.163 + delete actor; 1.164 + return true; 1.165 + } 1.166 +}; 1.167 + 1.168 +class TestMultiMgrsRightChild : 1.169 + public PTestMultiMgrsRightChild 1.170 +{ 1.171 +public: 1.172 + TestMultiMgrsRightChild() { } 1.173 + virtual ~TestMultiMgrsRightChild() { } 1.174 + 1.175 + bool HasChild(PTestMultiMgrsBottomChild* c) 1.176 + { 1.177 + return ManagedPTestMultiMgrsBottomChild().Contains(c); 1.178 + } 1.179 + 1.180 +protected: 1.181 + virtual bool RecvPTestMultiMgrsBottomConstructor(PTestMultiMgrsBottomChild* actor) MOZ_OVERRIDE; 1.182 + 1.183 + virtual PTestMultiMgrsBottomChild* AllocPTestMultiMgrsBottomChild() MOZ_OVERRIDE 1.184 + { 1.185 + return new TestMultiMgrsBottomChild(); 1.186 + } 1.187 + 1.188 + virtual bool DeallocPTestMultiMgrsBottomChild(PTestMultiMgrsBottomChild* actor) MOZ_OVERRIDE 1.189 + { 1.190 + delete actor; 1.191 + return true; 1.192 + } 1.193 +}; 1.194 + 1.195 +class TestMultiMgrsChild : 1.196 + public PTestMultiMgrsChild 1.197 +{ 1.198 +public: 1.199 + TestMultiMgrsChild() { } 1.200 + virtual ~TestMultiMgrsChild() { } 1.201 + 1.202 + void Main(); 1.203 + 1.204 + PTestMultiMgrsBottomChild* mBottomL; 1.205 + PTestMultiMgrsBottomChild* mBottomR; 1.206 + 1.207 +protected: 1.208 + virtual bool RecvCheck() MOZ_OVERRIDE; 1.209 + 1.210 + virtual PTestMultiMgrsLeftChild* AllocPTestMultiMgrsLeftChild() MOZ_OVERRIDE 1.211 + { 1.212 + return new TestMultiMgrsLeftChild(); 1.213 + } 1.214 + 1.215 + virtual bool DeallocPTestMultiMgrsLeftChild(PTestMultiMgrsLeftChild* actor) MOZ_OVERRIDE 1.216 + { 1.217 + delete actor; 1.218 + return true; 1.219 + } 1.220 + 1.221 + virtual PTestMultiMgrsRightChild* AllocPTestMultiMgrsRightChild() MOZ_OVERRIDE 1.222 + { 1.223 + return new TestMultiMgrsRightChild(); 1.224 + } 1.225 + 1.226 + virtual bool DeallocPTestMultiMgrsRightChild(PTestMultiMgrsRightChild* actor) MOZ_OVERRIDE 1.227 + { 1.228 + delete actor; 1.229 + return true; 1.230 + } 1.231 + 1.232 + virtual void ActorDestroy(ActorDestroyReason why) MOZ_OVERRIDE 1.233 + { 1.234 + if (NormalShutdown != why) 1.235 + fail("unexpected destruction!"); 1.236 + passed("ok"); 1.237 + QuitChild(); 1.238 + } 1.239 +}; 1.240 + 1.241 + 1.242 +} // namespace _ipdltest 1.243 +} // namespace mozilla 1.244 + 1.245 + 1.246 +#endif // ifndef mozilla__ipdltest_TestMultiMgrs_h