www.pudn.com > CraftFTP_gb.rar > Base64Coding.h


#if ! defined( BASE_64_CODING_CLASS_HEADER ) 
 
/* 
** Author: Samuel R. Blackburn 
** Internet: wfc@pobox.com 
** 
** You can use it any way you like as long as you don't try to sell it. 
** 
** Any attempt to sell WFC in source code form must have the permission 
** of the original author. You can produce commercial executables with 
** WFC but you can't sell WFC. 
** 
** Copyright, 2000, Samuel R. Blackburn 
** 
** $Workfile: CBase64Coding.hpp $ 
** $Revision: 1.1 $ 
** $Modtime: 1/04/00 4:39a $ 
*/ 
 
#define BASE_64_CODING_CLASS_HEADER 
 
class CBase64Coding 
{ 
   private: 
 
      // Don't allow canonical behavior (i.e. don't allow this class 
      // to be passed by value) 
 
      CBase64Coding( const CBase64Coding& ) {}; 
      CBase64Coding& operator=( const CBase64Coding& ) { return( *this ); }; 
 
   protected: 
 
      BYTE m_DecoderTable[ 256 ]; 
 
      virtual void m_InitializeDecoderTable( void ); 
 
   public: 
 
      // Construction 
 
      CBase64Coding(); 
 
      /* 
      ** Destructor should be virtual according to MSJ article in Sept 1992 
      ** "Do More with Less Code:..." 
      */ 
 
      virtual ~CBase64Coding(); 
 
      virtual BOOL Decode( const CByteArray& source, CByteArray& destination ); 
      virtual BOOL Decode( const CString&    source, CByteArray& destination ); 
      virtual BOOL Encode( const CByteArray& source, CByteArray& destination ); 
      virtual BOOL Encode( const CByteArray& source, CString&    destination ); 
}; 
 
#endif // BASE_64_CODING_CLASS_HEADER