00001 #ifndef CRYPTOPP_BASE64_H
00002 #define CRYPTOPP_BASE64_H
00003
00004 #include "basecode.h"
00005
00006 NAMESPACE_BEGIN(CryptoPP)
00007
00008
00009 class Base64Encoder : public SimpleProxyFilter
00010 {
00011 public:
00012 Base64Encoder(BufferedTransformation *attachment = NULL, bool insertLineBreaks = true, int maxLineLength = 72)
00013 : SimpleProxyFilter(new BaseN_Encoder(new Grouper), attachment)
00014 {
00015 IsolatedInitialize(MakeParameters(Name::InsertLineBreaks(), insertLineBreaks)(Name::MaxLineLength(), maxLineLength));
00016 }
00017
00018 void IsolatedInitialize(const NameValuePairs ¶meters);
00019 };
00020
00021
00022 class Base64Decoder : public BaseN_Decoder
00023 {
00024 public:
00025 Base64Decoder(BufferedTransformation *attachment = NULL)
00026 : BaseN_Decoder(GetDecodingLookupArray(), 6, attachment) {}
00027
00028 void IsolatedInitialize(const NameValuePairs ¶meters) {}
00029
00030 private:
00031 static const int * CRYPTOPP_API GetDecodingLookupArray();
00032 };
00033
00034 NAMESPACE_END
00035
00036 #endif