summaryrefslogtreecommitdiffstats
path: root/dom/file/ipc/mozIRemoteLazyInputStream.idl
blob: 8303b2e0fcdf1870a1d8e39765d58679237abc4d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
/* 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;
};