Changes

Jump to: navigation, search

IPDL/Five minute example

1,156 bytes added, 22:48, 13 July 2009
Create the child process's main thread
== Create the child process's main thread ==
 
The child process's main thread will hook up the TestChild actor to an IPC channel.
Create the files <code>ipc/test-harness/TestThreadChild.h</code> and <code>ipc/test-harness/TestThreadChild.cpp</code> with the following content.
 
// TestThreadChild.h
#ifndef mozilla_test_TestThreadChild_h
#define mozilla_test_TestThreadChild_h
#include "mozilla/ipc/GeckoThread.h"
#include "mozilla/test/TestChild.h"
namespace mozilla {
namespace test {
class TestThreadChild : public mozilla::ipc::GeckoThread
{
public:
TestThreadChild();
~TestThreadChild();
protected:
virtual void Init();
virtual void CleanUp();
private:
TestChild mChild;
};
} // namespace test
} // namespace mozilla
#endif // ifndef mozilla_test_TestThreadChild_h
 
// TestThreadChild.cpp
#include "mozilla/test/TestThreadChild.h"
using mozilla::test::TestThreadChild;
using mozilla::ipc::GeckoThread;
TestThreadChild::TestThreadChild() :
GeckoThread()
{
}
TestThreadChild::~TestThreadChild()
{
}
void
TestThreadChild::Init()
{
GeckoThread::Init();
mChild.Open(channel(), owner_loop());
}
void
TestThreadChild::CleanUp()
{
GeckoThread::CleanUp();
mChild.Close();
}
 
Hook these into your build and check that everything still compiles.
Confirm
699
edits

Navigation menu