base64.h

00001 #ifndef CRYPTOPP_BASE64_H
00002 #define CRYPTOPP_BASE64_H
00003 
00004 #include "basecode.h"
00005 
00006 NAMESPACE_BEGIN(CryptoPP)
00007 
00008 //! Base64 Encoder Class 
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 &parameters);
00019 };
00020 
00021 //! Base64 Decoder Class 
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 &parameters) {}
00029 
00030 private:
00031         static const int * CRYPTOPP_API GetDecodingLookupArray();
00032 };
00033 
00034 NAMESPACE_END
00035 
00036 #endif

Generated on Sat Dec 23 02:07:05 2006 for Crypto++ by  doxygen 1.5.1-p1