Line data Source code
1 : /* This Source Code Form is subject to the terms of the Mozilla Public
2 : * License, v. 2.0. If a copy of the MPL was not distributed with this
3 : * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
4 :
5 : #ifndef NSBASE64ENCODER_H_
6 : #define NSBASE64ENCODER_H_
7 :
8 : #include "nsIOutputStream.h"
9 : #include "nsString.h"
10 : #include "mozilla/Attributes.h"
11 :
12 : /**
13 : * A base64 encoder. Usage: Instantiate class, write to it using
14 : * Write(), then call Finish() to get the base64-encoded data.
15 : */
16 : class nsBase64Encoder final : public nsIOutputStream {
17 : public:
18 4 : nsBase64Encoder() {}
19 :
20 : NS_DECL_ISUPPORTS
21 : NS_DECL_NSIOUTPUTSTREAM
22 :
23 : nsresult Finish(nsACString& _result);
24 : private:
25 4 : ~nsBase64Encoder() {}
26 :
27 : /// The data written to this stream. nsCString can deal fine with
28 : /// binary data.
29 : nsCString mData;
30 : };
31 :
32 : #endif
|