ipc/testshell/TestShellChild.h
author Mozilla Releng Treescript <release+treescript@mozilla.org>
Tue, 06 Nov 2018 15:24:30 +0000
changeset 501055 ba018e603eb830d7f7415c8e0f77200b3b40fd50
parent 453515 3d28ca7c05d8f9ba3ba6ff1cd5449dce42ae95c1
child 510539 09c71a7cf75aeaf2963050e315276fb9a866fd62
permissions -rw-r--r--
Automatic version bump CLOSED TREE NO BUG a=release DONTBUILD

/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

#ifndef ipc_testshell_TestShellChild_h
#define ipc_testshell_TestShellChild_h 1

#include "mozilla/ipc/PTestShellChild.h"
#include "mozilla/ipc/PTestShellCommandChild.h"
#include "mozilla/ipc/XPCShellEnvironment.h"

#include "nsAutoPtr.h"

namespace mozilla {

namespace ipc {

class XPCShellEnvironment;

class TestShellChild : public PTestShellChild
{
public:
  TestShellChild();

  mozilla::ipc::IPCResult
  RecvExecuteCommand(const nsString& aCommand) override;

  PTestShellCommandChild*
  AllocPTestShellCommandChild(const nsString& aCommand) override;

  mozilla::ipc::IPCResult
  RecvPTestShellCommandConstructor(PTestShellCommandChild* aActor,
                                   const nsString& aCommand) override;

  bool
  DeallocPTestShellCommandChild(PTestShellCommandChild* aCommand) override;

private:
  nsAutoPtr<XPCShellEnvironment> mXPCShell;
};

} /* namespace ipc */
} /* namespace mozilla */

#endif /* ipc_testshell_TestShellChild_h */