nsBase64Encoder.h (793B)
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 11 /** 12 * A base64 encoder. Usage: Instantiate class, write to it using 13 * Write(), then call Finish() to get the base64-encoded data. 14 */ 15 class nsBase64Encoder final : public nsIOutputStream { 16 public: 17 nsBase64Encoder() = default; 18 19 NS_DECL_ISUPPORTS 20 NS_DECL_NSIOUTPUTSTREAM 21 22 nsresult Finish(nsACString& _result); 23 24 private: 25 ~nsBase64Encoder() = default; 26 27 /// The data written to this stream. nsCString can deal fine with 28 /// binary data. 29 nsCString mData; 30 }; 31 32 #endif