1#ifndef CRYPTOPP_BASE64_H 2#define CRYPTOPP_BASE64_H 3 4#include "basecode.h" 5 6NAMESPACE_BEGIN(CryptoPP) 7 8//! Base64 Encoder Class 9class Base64Encoder : public SimpleProxyFilter 10{ 11public: 12 Base64Encoder(BufferedTransformation *attachment = NULL, bool insertLineBreaks = true, int maxLineLength = 72) 13 : SimpleProxyFilter(new BaseN_Encoder(new Grouper), attachment) 14 { 15 IsolatedInitialize(MakeParameters(Name::InsertLineBreaks(), insertLineBreaks)(Name::MaxLineLength(), maxLineLength)); 16 } 17 18 void IsolatedInitialize(const NameValuePairs ¶meters); 19}; 20 21//! Base64 Decoder Class 22class Base64Decoder : public BaseN_Decoder 23{ 24public: 25 Base64Decoder(BufferedTransformation *attachment = NULL) 26 : BaseN_Decoder(GetDecodingLookupArray(), 6, attachment) {} 27 28 void IsolatedInitialize(const NameValuePairs ¶meters) {} 29 30private: 31 static const int * CRYPTOPP_API GetDecodingLookupArray(); 32}; 33 34NAMESPACE_END 35 36#endif 37