ipc/ipdl/test/cxx/TestSelfManageRoot.h

Wed, 31 Dec 2014 13:27:57 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 13:27:57 +0100
branch
TOR_BUG_3246
changeset 6
8bccb770b82d
permissions
-rw-r--r--

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

mercurial