michael@0: #include "TestDesc.h" michael@0: michael@0: #include "IPDLUnitTests.h" // fail etc. michael@0: michael@0: namespace mozilla { michael@0: namespace _ipdltest { michael@0: michael@0: //----------------------------------------------------------------------------- michael@0: // parent michael@0: void michael@0: TestDescParent::Main() michael@0: { michael@0: PTestDescSubParent* p = CallPTestDescSubConstructor(0); michael@0: if (!p) michael@0: fail("can't allocate Sub"); michael@0: michael@0: PTestDescSubsubParent* pp = p->CallPTestDescSubsubConstructor(); michael@0: if (!pp) michael@0: fail("can't allocate Subsub"); michael@0: michael@0: if (!SendTest(pp)) michael@0: fail("can't send Subsub"); michael@0: } michael@0: michael@0: bool michael@0: TestDescParent::RecvOk(PTestDescSubsubParent* a) michael@0: { michael@0: if (!a) michael@0: fail("didn't receive Subsub"); michael@0: michael@0: if (!PTestDescSubsubParent::Call__delete__(a)) michael@0: fail("deleting Subsub"); michael@0: michael@0: Close(); michael@0: michael@0: return true; michael@0: } michael@0: michael@0: michael@0: PTestDescSubParent* michael@0: TestDescParent::AllocPTestDescSubParent(PTestDescSubsubParent* dummy) { michael@0: if (dummy) michael@0: fail("actor supposed to be null"); michael@0: return new TestDescSubParent(); michael@0: } michael@0: bool michael@0: TestDescParent::DeallocPTestDescSubParent(PTestDescSubParent* actor) michael@0: { michael@0: delete actor; michael@0: return true; michael@0: } michael@0: michael@0: PTestDescSubsubParent* michael@0: TestDescSubParent::AllocPTestDescSubsubParent() michael@0: { michael@0: return new TestDescSubsubParent(); michael@0: } michael@0: bool michael@0: TestDescSubParent::DeallocPTestDescSubsubParent(PTestDescSubsubParent* actor) michael@0: { michael@0: delete actor; michael@0: return true; michael@0: } michael@0: michael@0: michael@0: //----------------------------------------------------------------------------- michael@0: // child michael@0: michael@0: bool michael@0: TestDescChild::RecvTest(PTestDescSubsubChild* a) michael@0: { michael@0: if (!a) michael@0: fail("didn't receive Subsub"); michael@0: if (!SendOk(a)) michael@0: fail("couldn't send Ok()"); michael@0: return true; michael@0: } michael@0: michael@0: PTestDescSubChild* michael@0: TestDescChild::AllocPTestDescSubChild(PTestDescSubsubChild* dummy) { michael@0: if (dummy) michael@0: fail("actor supposed to be null"); michael@0: return new TestDescSubChild(); michael@0: } michael@0: bool michael@0: TestDescChild::DeallocPTestDescSubChild(PTestDescSubChild* actor) michael@0: { michael@0: delete actor; michael@0: return true; michael@0: } michael@0: michael@0: PTestDescSubsubChild* michael@0: TestDescSubChild::AllocPTestDescSubsubChild() michael@0: { michael@0: return new TestDescSubsubChild(); michael@0: } michael@0: bool michael@0: TestDescSubChild::DeallocPTestDescSubsubChild(PTestDescSubsubChild* actor) michael@0: { michael@0: delete actor; michael@0: return true; michael@0: } michael@0: michael@0: } // namespace _ipdltest michael@0: } // namespace mozilla