ipc/ipdl/test/cxx/TestBadActor.h

branch
TOR_BUG_3246
changeset 6
8bccb770b82d
equal deleted inserted replaced
-1:000000000000 0:1cd1b6931991
1 #ifndef mozilla__ipdltest_TestBadActor_h
2 #define mozilla__ipdltest_TestBadActor_h
3
4 #include "mozilla/_ipdltest/IPDLUnitTests.h"
5
6 #include "mozilla/_ipdltest/PTestBadActorParent.h"
7 #include "mozilla/_ipdltest/PTestBadActorChild.h"
8
9 #include "mozilla/_ipdltest/PTestBadActorSubParent.h"
10 #include "mozilla/_ipdltest/PTestBadActorSubChild.h"
11
12 namespace mozilla {
13 namespace _ipdltest {
14
15 class TestBadActorParent
16 : public PTestBadActorParent
17 {
18 public:
19 TestBadActorParent() { }
20 virtual ~TestBadActorParent() { }
21
22 static bool RunTestInProcesses() { return true; }
23 static bool RunTestInThreads() { return false; }
24
25 void Main();
26
27 protected:
28 virtual void ActorDestroy(ActorDestroyReason why) MOZ_OVERRIDE
29 {
30 if (AbnormalShutdown != why)
31 fail("unexpected destruction");
32 passed("ok");
33 QuitParent();
34 }
35
36 virtual PTestBadActorSubParent*
37 AllocPTestBadActorSubParent();
38
39 virtual bool
40 DeallocPTestBadActorSubParent(PTestBadActorSubParent* actor) {
41 delete actor;
42 return true;
43 }
44 };
45
46 class TestBadActorSubParent
47 : public PTestBadActorSubParent
48 {
49 public:
50 TestBadActorSubParent() { }
51 virtual ~TestBadActorSubParent() { }
52
53 protected:
54 virtual bool RecvPing();
55 };
56
57 class TestBadActorChild
58 : public PTestBadActorChild
59 {
60 public:
61 TestBadActorChild() { }
62 virtual ~TestBadActorChild() { }
63
64 protected:
65 virtual PTestBadActorSubChild*
66 AllocPTestBadActorSubChild();
67
68 virtual bool
69 DeallocPTestBadActorSubChild(PTestBadActorSubChild* actor)
70 {
71 delete actor;
72 return true;
73 }
74
75 virtual bool
76 RecvPTestBadActorSubConstructor(PTestBadActorSubChild* actor);
77 };
78
79 class TestBadActorSubChild
80 : public PTestBadActorSubChild
81 {
82 public:
83 TestBadActorSubChild() { }
84 virtual ~TestBadActorSubChild() { }
85 };
86
87 } // namespace _ipdltest
88 } // namespace mozilla
89
90 #endif // mozilla__ipdltest_TestBadActor_h

mercurial