Wed, 31 Dec 2014 13:27:57 +0100
Ignore runtime configuration files generated during quality assurance.
1 #ifndef mozilla__ipdltest_TestSelfManageRoot_h
2 #define mozilla__ipdltest_TestSelfManageRoot_h 1
4 #include "mozilla/_ipdltest/IPDLUnitTests.h"
6 #include "mozilla/_ipdltest/PTestSelfManageRootParent.h"
7 #include "mozilla/_ipdltest/PTestSelfManageRootChild.h"
8 #include "mozilla/_ipdltest/PTestSelfManageParent.h"
9 #include "mozilla/_ipdltest/PTestSelfManageChild.h"
12 namespace mozilla {
13 namespace _ipdltest {
15 //-----------------------------------------------------------------------------
16 // Parent side
18 class TestSelfManageParent :
19 public PTestSelfManageParent
20 {
21 public:
22 TestSelfManageParent() {
23 MOZ_COUNT_CTOR(TestSelfManageParent);
24 }
25 virtual ~TestSelfManageParent() {
26 MOZ_COUNT_DTOR(TestSelfManageParent);
27 }
29 ActorDestroyReason mWhy;
31 protected:
32 virtual PTestSelfManageParent* AllocPTestSelfManageParent() MOZ_OVERRIDE {
33 return new TestSelfManageParent();
34 }
36 virtual bool DeallocPTestSelfManageParent(PTestSelfManageParent* a) MOZ_OVERRIDE {
37 return true;
38 }
40 virtual void ActorDestroy(ActorDestroyReason why) MOZ_OVERRIDE {
41 mWhy = why;
42 }
43 };
45 class TestSelfManageRootParent :
46 public PTestSelfManageRootParent
47 {
48 public:
49 TestSelfManageRootParent() {
50 MOZ_COUNT_CTOR(TestSelfManageRootParent);
51 }
52 virtual ~TestSelfManageRootParent() {
53 MOZ_COUNT_DTOR(TestSelfManageRootParent);
54 }
56 static bool RunTestInProcesses() { return true; }
57 static bool RunTestInThreads() { return true; }
59 void Main();
61 protected:
62 virtual PTestSelfManageParent* AllocPTestSelfManageParent() MOZ_OVERRIDE {
63 return new TestSelfManageParent();
64 }
66 virtual bool DeallocPTestSelfManageParent(PTestSelfManageParent* a) MOZ_OVERRIDE {
67 return true;
68 }
70 virtual void ActorDestroy(ActorDestroyReason why) MOZ_OVERRIDE
71 {
72 if (NormalShutdown != why)
73 fail("unexpected destruction!");
74 passed("ok");
75 QuitParent();
76 }
77 };
79 //-----------------------------------------------------------------------------
80 // Child side
82 class TestSelfManageChild :
83 public PTestSelfManageChild
84 {
85 public:
86 TestSelfManageChild() {
87 MOZ_COUNT_CTOR(TestSelfManageChild);
88 }
89 virtual ~TestSelfManageChild() {
90 MOZ_COUNT_DTOR(TestSelfManageChild);
91 }
93 protected:
94 virtual PTestSelfManageChild* AllocPTestSelfManageChild() MOZ_OVERRIDE {
95 return new TestSelfManageChild();
96 }
98 virtual bool DeallocPTestSelfManageChild(PTestSelfManageChild* a) MOZ_OVERRIDE {
99 delete a;
100 return true;
101 }
103 virtual void ActorDestroy(ActorDestroyReason why) MOZ_OVERRIDE { }
104 };
106 class TestSelfManageRootChild :
107 public PTestSelfManageRootChild
108 {
109 public:
110 TestSelfManageRootChild() {
111 MOZ_COUNT_CTOR(TestSelfManageRootChild);
112 }
113 virtual ~TestSelfManageRootChild() {
114 MOZ_COUNT_DTOR(TestSelfManageRootChild);
115 }
117 void Main();
119 protected:
120 virtual PTestSelfManageChild* AllocPTestSelfManageChild() MOZ_OVERRIDE {
121 return new TestSelfManageChild();
122 }
124 virtual bool DeallocPTestSelfManageChild(PTestSelfManageChild* a) MOZ_OVERRIDE {
125 delete a;
126 return true;
127 }
129 virtual void ActorDestroy(ActorDestroyReason why) MOZ_OVERRIDE
130 {
131 if (NormalShutdown != why)
132 fail("unexpected destruction!");
133 QuitChild();
134 }
135 };
137 } // namespace _ipdltest
138 } // namespace mozilla
141 #endif // ifndef mozilla__ipdltest_TestSelfManageRoot_h