Line data Source code
1 : /* vim:set expandtab ts=4 sw=4 sts=4 cin: */
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 NSCONVERTEROUTPUTSTREAM_H_
7 : #define NSCONVERTEROUTPUTSTREAM_H_
8 :
9 : #include "nsIConverterOutputStream.h"
10 : #include "nsCOMPtr.h"
11 : #include "mozilla/Attributes.h"
12 : #include "mozilla/Encoding.h"
13 :
14 : class nsIOutputStream;
15 :
16 : /* ff8780a5-bbb1-4bc5-8ee7-057e7bc5c925 */
17 : #define NS_CONVERTEROUTPUTSTREAM_CID \
18 : { 0xff8780a5, 0xbbb1, 0x4bc5, \
19 : { 0x8e, 0xe7, 0x05, 0x7e, 0x7b, 0xc5, 0xc9, 0x25 } }
20 :
21 : class nsConverterOutputStream final : public nsIConverterOutputStream {
22 : public:
23 0 : nsConverterOutputStream() {}
24 :
25 : NS_DECL_ISUPPORTS
26 : NS_DECL_NSIUNICHAROUTPUTSTREAM
27 : NS_DECL_NSICONVERTEROUTPUTSTREAM
28 :
29 : private:
30 : ~nsConverterOutputStream();
31 :
32 : mozilla::UniquePtr<mozilla::Encoder> mConverter;
33 : nsCOMPtr<nsIOutputStream> mOutStream;
34 : };
35 :
36 : #endif
|