gecko-dev/xpcom/io/nsIMultiplexInputStream.idl
Wes Kocher 6c1a0ae549 Backed out 6 changesets (bug 1371699) for various failures including frequent img-blobURI-2.html failures and leaks a=backout
Backed out changeset 67a27cf0ab80 (bug 1371699)
Backed out changeset 7e494fa90087 (bug 1371699)
Backed out changeset 30405ec37e1e (bug 1371699)
Backed out changeset 2d67624a01dc (bug 1371699)
Backed out changeset 503c9d22e6bb (bug 1371699)
Backed out changeset eedcb67a9fb6 (bug 1371699)

MozReview-Commit-ID: 4HydLjK7Ond
2017-06-13 17:50:11 -07:00

56 lines
2.0 KiB
Plaintext

/* -*- Mode: C++; tab-width: 4; 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 "nsIInputStream.idl"
/**
* The multiplex stream concatenates a list of input streams into a single
* stream.
*/
[scriptable, uuid(a076fd12-1dd1-11b2-b19a-d53b5dffaade)]
interface nsIMultiplexInputStream : nsIInputStream
{
/**
* Number of streams in this multiplex-stream
*/
readonly attribute unsigned long count;
/**
* Appends a stream to the end of the streams. The cursor of the stream
* should be located at the beginning of the stream if the implementation
* of this nsIMultiplexInputStream also is used as an nsISeekableStream.
* @param stream stream to append
*/
void appendStream(in nsIInputStream stream);
/**
* Insert a stream at specified index. If the cursor of this stream is at
* the beginning of the stream at index, the cursor will be placed at the
* beginning of the inserted stream instead.
* The cursor of the new stream should be located at the beginning of the
* stream if the implementation of this nsIMultiplexInputStream also is
* used as an nsISeekableStream.
* @param stream stream to insert
* @param index index to insert stream at, must be <= count
*/
void insertStream(in nsIInputStream stream, in unsigned long index);
/**
* Remove stream at specified index. If this stream is the one currently
* being read the readcursor is moved to the beginning of the next
* stream
* @param index remove stream at this index, must be < count
*/
void removeStream(in unsigned long index);
/**
* Get stream at specified index.
* @param index return stream at this index, must be < count
* @return stream at specified index
*/
nsIInputStream getStream(in unsigned long index);
};