#ifndef mozilla__ipdltest_TestArrays_h #define mozilla__ipdltest_TestArrays_h 1 #include "mozilla/_ipdltest/IPDLUnitTests.h" #include "mozilla/_ipdltest/PTestArraysParent.h" #include "mozilla/_ipdltest/PTestArraysChild.h" #include "mozilla/_ipdltest/PTestArraysSubParent.h" #include "mozilla/_ipdltest/PTestArraysSubChild.h" namespace mozilla { namespace _ipdltest { //----------------------------------------------------------------------------- // Subprotocol actors class TestArraysSub : public PTestArraysSubParent, public PTestArraysSubChild { public: TestArraysSub(uint32 i) : mI(i) { } virtual ~TestArraysSub() { } uint32 mI; }; //----------------------------------------------------------------------------- // Main actors class TestArraysParent : public PTestArraysParent { public: TestArraysParent(); virtual ~TestArraysParent(); void Main(); protected: NS_OVERRIDE virtual PTestArraysSubParent* AllocPTestArraysSub(const int& i) { PTestArraysSubParent* actor = new TestArraysSub(i); mKids.AppendElement(actor); return actor; } NS_OVERRIDE virtual bool DeallocPTestArraysSub(PTestArraysSubParent* actor); NS_OVERRIDE virtual bool RecvTest1( const nsTArray& i1, nsTArray* o1); NS_OVERRIDE virtual bool RecvTest2( const nsTArray& i1, nsTArray* o1); NS_OVERRIDE virtual bool RecvTest3( const IntDouble& i1, const IntDouble& i2, IntDouble* o1, IntDouble* o2); NS_OVERRIDE virtual bool RecvTest4( const nsTArray& i1, nsTArray* o1); NS_OVERRIDE virtual bool RecvTest5( const IntDoubleArrays& i1, const IntDoubleArrays& i2, const IntDoubleArrays& i3, IntDoubleArrays* o1, IntDoubleArrays* o2, IntDoubleArrays* o3); NS_OVERRIDE virtual bool RecvTest6( const nsTArray& i1, nsTArray* o1); NS_OVERRIDE virtual bool RecvTest7( const Actors& i1, const Actors& i2, const Actors& i3, Actors* o1, Actors* o2, Actors* o3); NS_OVERRIDE virtual bool RecvTest8( const nsTArray& i1, nsTArray* o1); NS_OVERRIDE virtual bool RecvTest9( const Unions& i1, const Unions& i2, const Unions& i3, const Unions& i4, Unions* o1, Unions* o2, Unions* o3, Unions* o4); NS_OVERRIDE virtual bool RecvTest10( const nsTArray& i1, nsTArray* o1); NS_OVERRIDE virtual void ActorDestroy(ActorDestroyReason why) { if (NormalShutdown != why) fail("unexpected destruction!"); passed("ok"); QuitParent(); } private: nsTArray mKids; }; class TestArraysChild : public PTestArraysChild { public: TestArraysChild(); virtual ~TestArraysChild(); protected: NS_OVERRIDE virtual PTestArraysSubChild* AllocPTestArraysSub(const int& i) { PTestArraysSubChild* actor = new TestArraysSub(i); mKids.AppendElement(actor); return actor; } NS_OVERRIDE virtual bool DeallocPTestArraysSub(PTestArraysSubChild* actor) { delete actor; return true; } NS_OVERRIDE virtual bool RecvStart(); NS_OVERRIDE virtual void ActorDestroy(ActorDestroyReason why) { if (NormalShutdown != why) fail("unexpected destruction!"); QuitChild(); } private: void Test1(); void Test2(); void Test3(); void Test4(); void Test5(); void Test6(); void Test7(); void Test8(); void Test9(); void Test10(); nsTArray mKids; }; } // namespace _ipdltest } // namespace mozilla #endif // ifndef mozilla__ipdltest_TestArrays_h