mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
156 lines
3.4 KiB
C++
156 lines
3.4 KiB
C++
#ifndef mozilla__ipdltest_TestBridgeMain_h
|
|
#define mozilla__ipdltest_TestBridgeMain_h 1
|
|
|
|
#include "mozilla/_ipdltest/IPDLUnitTests.h"
|
|
|
|
#include "mozilla/_ipdltest/PTestBridgeMainParent.h"
|
|
#include "mozilla/_ipdltest/PTestBridgeMainChild.h"
|
|
|
|
#include "mozilla/_ipdltest/PTestBridgeSubParent.h"
|
|
#include "mozilla/_ipdltest/PTestBridgeSubChild.h"
|
|
|
|
#include "mozilla/_ipdltest/PTestBridgeMainSubParent.h"
|
|
#include "mozilla/_ipdltest/PTestBridgeMainSubChild.h"
|
|
|
|
namespace mozilla {
|
|
namespace _ipdltest {
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// "Main" process
|
|
//
|
|
class TestBridgeMainParent :
|
|
public PTestBridgeMainParent
|
|
{
|
|
public:
|
|
TestBridgeMainParent() {}
|
|
virtual ~TestBridgeMainParent() {}
|
|
|
|
static bool RunTestInProcesses() { return true; }
|
|
static bool RunTestInThreads() { return false; }
|
|
|
|
void Main();
|
|
|
|
protected:
|
|
NS_OVERRIDE
|
|
virtual PTestBridgeMainSubParent*
|
|
AllocPTestBridgeMainSub(Transport* transport,
|
|
ProcessId otherProcess);
|
|
|
|
NS_OVERRIDE
|
|
virtual void ActorDestroy(ActorDestroyReason why);
|
|
};
|
|
|
|
class TestBridgeMainSubParent :
|
|
public PTestBridgeMainSubParent
|
|
{
|
|
public:
|
|
TestBridgeMainSubParent(Transport* aTransport)
|
|
: mTransport(aTransport)
|
|
{}
|
|
virtual ~TestBridgeMainSubParent() {}
|
|
|
|
protected:
|
|
NS_OVERRIDE
|
|
virtual bool RecvHello();
|
|
NS_OVERRIDE
|
|
virtual bool RecvHelloSync();
|
|
NS_OVERRIDE
|
|
virtual bool AnswerHelloRpc();
|
|
|
|
NS_OVERRIDE
|
|
virtual void ActorDestroy(ActorDestroyReason why);
|
|
|
|
Transport* mTransport;
|
|
};
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// "Sub" process --- child of "main"
|
|
//
|
|
class TestBridgeSubParent;
|
|
|
|
class TestBridgeMainChild :
|
|
public PTestBridgeMainChild
|
|
{
|
|
public:
|
|
TestBridgeMainChild();
|
|
virtual ~TestBridgeMainChild() {}
|
|
|
|
protected:
|
|
NS_OVERRIDE
|
|
virtual bool RecvStart();
|
|
|
|
NS_OVERRIDE
|
|
virtual void ActorDestroy(ActorDestroyReason why);
|
|
|
|
IPDLUnitTestSubprocess* mSubprocess;
|
|
};
|
|
|
|
class TestBridgeSubParent :
|
|
public PTestBridgeSubParent
|
|
{
|
|
public:
|
|
TestBridgeSubParent() {}
|
|
virtual ~TestBridgeSubParent() {}
|
|
|
|
void Main();
|
|
|
|
protected:
|
|
NS_OVERRIDE
|
|
virtual bool RecvBridgeEm();
|
|
|
|
NS_OVERRIDE
|
|
virtual void ActorDestroy(ActorDestroyReason why);
|
|
};
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// "Subsub" process --- child of "sub"
|
|
//
|
|
class TestBridgeSubChild :
|
|
public PTestBridgeSubChild
|
|
{
|
|
public:
|
|
TestBridgeSubChild();
|
|
virtual ~TestBridgeSubChild() {}
|
|
|
|
protected:
|
|
NS_OVERRIDE
|
|
virtual bool RecvPing();
|
|
|
|
NS_OVERRIDE
|
|
virtual PTestBridgeMainSubChild*
|
|
AllocPTestBridgeMainSub(Transport* transport,
|
|
ProcessId otherProcess);
|
|
|
|
NS_OVERRIDE
|
|
virtual void ActorDestroy(ActorDestroyReason why);
|
|
};
|
|
|
|
class TestBridgeMainSubChild :
|
|
public PTestBridgeMainSubChild
|
|
{
|
|
public:
|
|
TestBridgeMainSubChild(Transport* aTransport)
|
|
: mGotHi(false)
|
|
, mTransport(aTransport)
|
|
{}
|
|
virtual ~TestBridgeMainSubChild() {}
|
|
|
|
protected:
|
|
NS_OVERRIDE
|
|
virtual bool RecvHi();
|
|
NS_OVERRIDE
|
|
virtual bool AnswerHiRpc();
|
|
|
|
NS_OVERRIDE
|
|
virtual void ActorDestroy(ActorDestroyReason why);
|
|
|
|
bool mGotHi;
|
|
Transport* mTransport;
|
|
};
|
|
|
|
} // namespace _ipdltest
|
|
} // namespace mozilla
|
|
|
|
|
|
#endif // ifndef mozilla__ipdltest_TestBridgeMain_h
|