Merge mozilla-central to autoland. CLOSED TREE
[gecko.git] / netwerk / base / nsIArrayBufferInputStream.idl
blob9ba1dc73fa4f80b26dd4589c1bd7ede1d1068165
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6 #include "nsIInputStream.idl"
8 %{C++
9 #include "mozilla/UniquePtr.h"
11 native Bytes(mozilla::UniquePtr<uint8_t[]>);
13 /**
14 * nsIArrayBufferInputStream
16 * Provides scriptable methods for initializing a nsIInputStream
17 * implementation with an ArrayBuffer.
19 [scriptable, builtinclass, uuid(3014dde6-aa1c-41db-87d0-48764a3710f6)]
20 interface nsIArrayBufferInputStream : nsIInputStream
22 /**
23 * SetData - assign an ArrayBuffer to the input stream.
25 * @param buffer - stream data
26 * @param byteOffset - stream data offset
27 * @param byteLen - stream data length
29 [binaryname(SetDataFromJS)]
30 void setData(in jsval buffer, in uint64_t byteOffset, in uint64_t byteLen);
32 /**
33 * SetData - assign data to the input stream.
35 * @param aBytes - stream data
36 * @param byteLen - stream data length
38 [noscript, nostdcall, binaryname(SetData)]
39 void setDataNative(in Bytes bytes, in uint64_t byteLen);