Line data Source code
1 : /* -*- Mode: C++; tab-width: 4; 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/. */
5 :
6 : #ifndef ArrayBufferInputStream_h
7 : #define ArrayBufferInputStream_h
8 :
9 : #include "nsIArrayBufferInputStream.h"
10 : #include "js/Value.h"
11 : #include "mozilla/Maybe.h"
12 : #include "mozilla/UniquePtr.h"
13 :
14 : #define NS_ARRAYBUFFERINPUTSTREAM_CONTRACTID "@mozilla.org/io/arraybuffer-input-stream;1"
15 : #define NS_ARRAYBUFFERINPUTSTREAM_CID \
16 : { /* 3014dde6-aa1c-41db-87d0-48764a3710f6 */ \
17 : 0x3014dde6, \
18 : 0xaa1c, \
19 : 0x41db, \
20 : {0x87, 0xd0, 0x48, 0x76, 0x4a, 0x37, 0x10, 0xf6} \
21 : }
22 :
23 : class ArrayBufferInputStream : public nsIArrayBufferInputStream {
24 : public:
25 : ArrayBufferInputStream();
26 : NS_DECL_ISUPPORTS
27 : NS_DECL_NSIARRAYBUFFERINPUTSTREAM
28 : NS_DECL_NSIINPUTSTREAM
29 :
30 : private:
31 0 : virtual ~ArrayBufferInputStream() {}
32 : mozilla::UniquePtr<char[]> mArrayBuffer;
33 : uint32_t mBufferLength;
34 : uint32_t mPos;
35 : bool mClosed;
36 : };
37 :
38 : #endif // ArrayBufferInputStream_h
|