/* 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" interface nsIInputStream; /* * A simple interface to get the underlying stream from an * RemoteLazyInputStream. */ [scriptable, builtinclass, uuid(4125585f-b0c2-4964-a83c-4b0d99f26d49)] interface mozIRemoteLazyInputStream : nsISupports { /** * Attempts to take the internal stream out of this mozIRemoteLazyInputStream. * Throws NS_BASE_STREAM_WOULD_BLOCK if the stream isn't available yet, and * NS_BASE_STREAM_CLOSED if it was already closed. */ [noscript] nsIInputStream TakeInternalStream(); /** * If this RemoteLazyInputStream is actively backed by an actor, get the * underlying actor's ID. Will throw if the underlying actor is no longer * available. */ [noscript] readonly attribute nsIDRef internalStreamID; };