зеркало из https://github.com/mozilla/gecko-dev.git
129 строки
3.0 KiB
C++
129 строки
3.0 KiB
C++
#ifndef mozilla_ipdltest_TestDesc_h
|
|
#define mozilla_ipdltest_TestDesc_h
|
|
|
|
#include "mozilla/_ipdltest/IPDLUnitTests.h"
|
|
|
|
#include "mozilla/_ipdltest/PTestDescParent.h"
|
|
#include "mozilla/_ipdltest/PTestDescChild.h"
|
|
|
|
#include "mozilla/_ipdltest/PTestDescSubParent.h"
|
|
#include "mozilla/_ipdltest/PTestDescSubChild.h"
|
|
|
|
#include "mozilla/_ipdltest/PTestDescSubsubParent.h"
|
|
#include "mozilla/_ipdltest/PTestDescSubsubChild.h"
|
|
|
|
namespace mozilla {
|
|
namespace _ipdltest {
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// Top-level
|
|
//
|
|
class TestDescParent :
|
|
public PTestDescParent
|
|
{
|
|
public:
|
|
TestDescParent() { }
|
|
virtual ~TestDescParent() { }
|
|
|
|
static bool RunTestInProcesses() { return true; }
|
|
static bool RunTestInThreads() { return true; }
|
|
|
|
void Main();
|
|
|
|
virtual bool RecvOk(PTestDescSubsubParent* a) override;
|
|
|
|
protected:
|
|
virtual PTestDescSubParent* AllocPTestDescSubParent(PTestDescSubsubParent*) override;
|
|
virtual bool DeallocPTestDescSubParent(PTestDescSubParent* actor) override;
|
|
|
|
virtual void ActorDestroy(ActorDestroyReason why) override
|
|
{
|
|
if (NormalShutdown != why)
|
|
fail("unexpected destruction!");
|
|
passed("ok");
|
|
QuitParent();
|
|
}
|
|
};
|
|
|
|
|
|
class TestDescChild :
|
|
public PTestDescChild
|
|
{
|
|
public:
|
|
TestDescChild() { }
|
|
virtual ~TestDescChild() { }
|
|
|
|
protected:
|
|
virtual PTestDescSubChild* AllocPTestDescSubChild(PTestDescSubsubChild*) override;
|
|
|
|
virtual bool DeallocPTestDescSubChild(PTestDescSubChild* actor) override;
|
|
|
|
virtual bool RecvTest(PTestDescSubsubChild* a) override;
|
|
|
|
virtual void ActorDestroy(ActorDestroyReason why) override
|
|
{
|
|
if (NormalShutdown != why)
|
|
fail("unexpected destruction!");
|
|
QuitChild();
|
|
}
|
|
};
|
|
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// First descendent
|
|
//
|
|
class TestDescSubParent :
|
|
public PTestDescSubParent
|
|
{
|
|
public:
|
|
TestDescSubParent() { }
|
|
virtual ~TestDescSubParent() { }
|
|
|
|
protected:
|
|
virtual void ActorDestroy(ActorDestroyReason why) override {}
|
|
virtual PTestDescSubsubParent* AllocPTestDescSubsubParent() override;
|
|
virtual bool DeallocPTestDescSubsubParent(PTestDescSubsubParent* actor) override;
|
|
};
|
|
|
|
|
|
class TestDescSubChild :
|
|
public PTestDescSubChild
|
|
{
|
|
public:
|
|
TestDescSubChild() { }
|
|
virtual ~TestDescSubChild() { }
|
|
|
|
protected:
|
|
virtual PTestDescSubsubChild* AllocPTestDescSubsubChild() override;
|
|
virtual bool DeallocPTestDescSubsubChild(PTestDescSubsubChild* actor) override;
|
|
};
|
|
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// Grand-descendent
|
|
//
|
|
class TestDescSubsubParent :
|
|
public PTestDescSubsubParent
|
|
{
|
|
public:
|
|
TestDescSubsubParent() { }
|
|
virtual ~TestDescSubsubParent() { }
|
|
|
|
protected:
|
|
virtual void ActorDestroy(ActorDestroyReason why) override {}
|
|
};
|
|
|
|
class TestDescSubsubChild :
|
|
public PTestDescSubsubChild
|
|
{
|
|
public:
|
|
TestDescSubsubChild() { }
|
|
virtual ~TestDescSubsubChild() { }
|
|
};
|
|
|
|
|
|
}
|
|
}
|
|
|
|
#endif // ifndef mozilla_ipdltest_TestDesc_h
|