/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- * * 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 "nsISupports.idl" #include "nsIException.idl" %{ C++ #include "js/TypeDecls.h" %} [ptr] native xpcexJSContextPtr(JSContext); native xpcexJSVal(JS::Value); [scriptable, uuid(cac29630-7bf2-4e22-811b-46855a7d5af0)] interface nsIXPCException : nsIException { // inherits methods from nsIException void initialize(in string aMessage, in nsresult aResult, in string aName, in nsIStackFrame aLocation, in nsISupports aData, in nsIException aInner); [noscript] xpcexJSVal stealJSVal(); [noscript] void stowJSVal(in xpcexJSContextPtr cx, in xpcexJSVal val); }; /* this goes into the C++ header verbatim. */ %{ C++ /********************************************************/ // {5632BF70-51EC-11d3-9896-006008962422} #define NS_XPCEXCEPTION_CID \ { 0x5632bf70, 0x51ec, 0x11d3, \ { 0x98, 0x96, 0x0, 0x60, 0x8, 0x96, 0x24, 0x22 } } %}