js/xpconnect/tests/components/native/xpctest_returncode.cpp
author Phil Ringnalda <philringnalda@gmail.com>
Sat, 28 Mar 2015 10:39:56 -0700
changeset 236377 5b892d8ef4538ea84378ebe4a352c49d8b9aa366
parent 236371 0c030f97a04f4e34c138b878c4352423f5e920f9
child 236396 02f2f4c75007651c63bbc0791d9a58dea88f545f
permissions -rw-r--r--
Backed out changeset 0c030f97a04f (bug 1144366) for being on top of patches being backed out CLOSED TREE

/* 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/. */

#include "xpctest_private.h"
#include "xpctest_interfaces.h"
#include "nsComponentManagerUtils.h"

NS_IMPL_ISUPPORTS(nsXPCTestReturnCodeParent, nsIXPCTestReturnCodeParent)

nsXPCTestReturnCodeParent::nsXPCTestReturnCodeParent()
{
}

nsXPCTestReturnCodeParent::~nsXPCTestReturnCodeParent()
{
}

/* unsigned long callChild (in long childBehavior); */
NS_IMETHODIMP nsXPCTestReturnCodeParent::CallChild(int32_t childBehavior, nsresult *_retval)
{
    nsresult rv;
    nsCOMPtr<nsIXPCTestReturnCodeChild> child(do_CreateInstance("@mozilla.org/js/xpc/test/js/ReturnCodeChild;1", &rv));
    NS_ENSURE_SUCCESS(rv, rv);
    rv = child->DoIt(childBehavior);
    *_retval = rv;
    return NS_OK;
}