//
//     Copyright 2006 Jim Bublitz <jbublitz@nwinternet.com>
//     Earlier copyrights 1998 - 2005 Jim Bublitz and/or Phil Thompson
//     may also apply


//                 Generated by preSip
//            module tdecore  version KDE 3.5.3


// This software is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License as
// published by the Free Software Foundation; either version 2 of
// the License, or (at your option) any later version.
//
// This software is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public
// License along with this library; see the file COPYING.
// If not, write to the Free Software Foundation, Inc.,
// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.


class KCodecs
{
%TypeHeaderCode
#include <kmdcodec.h>
%End


public:
    static TQCString      quotedPrintableEncode (const TQByteArray&, bool);
    static TQCString      quotedPrintableEncode (const TQCString&, bool = 1);
    static void          quotedPrintableEncode (const TQByteArray&, TQByteArray&, bool);
    static TQCString      quotedPrintableDecode (const TQByteArray&);
    static TQCString      quotedPrintableDecode (const TQCString&);
    static void          quotedPrintableDecode (const TQByteArray&, TQByteArray&);
    static TQCString      uuencode (const TQByteArray&);
    static TQCString      uuencode (const TQCString&);
    static void          uuencode (const TQByteArray&, TQByteArray&);
    static TQCString      uudecode (const TQByteArray&);
    static TQCString      uudecode (const TQCString&);
    static void          uudecode (const TQByteArray&, TQByteArray&);
    static TQCString      base64Encode (const TQByteArray&, bool);
    static TQCString      base64Encode (const TQCString&, bool);
    static void          base64Encode (const TQByteArray&, TQByteArray&, bool);
    static TQCString      base64Decode (const TQByteArray&);
    static TQCString      base64Decode (const TQCString&);
    static void          base64Decode (const TQByteArray&, TQByteArray&);

private:
                         KCodecs ();

};  // class KCodecs


class KMD5
{
%TypeHeaderCode
#include <kmdcodec.h>
%End


public:
//ig     typedef uchar Digest[16];
                         KMD5 ();
                         KMD5 (const char*, int = -1);
                         KMD5 (const TQByteArray&);
                         KMD5 (const TQCString&);
    void                 update (const char*, int = -1);
//igx     void                 update (const uchar*, int = -1);
    void                 update (const TQByteArray&);
    void                 update (const TQCString&);
    bool                 update (TQIODevice&);
    void                 reset ();
//ig     const Digest&        rawDigest ();
//ig     void                 rawDigest (KMD5::Digest&);
    TQCString             hexDigest ();
    void                 hexDigest (TQCString&);
    TQCString             base64Digest ();
//ig     bool                 verify (const KMD5::Digest&);
    bool                 verify (const TQCString&);

protected:

%If ( KDE_3_1_0 -  )
//ig     void                 transform (const uchar);
%End

    void                 finalize ();

private:
                         KMD5 (const KMD5&);

protected:

%If ( KDE_3_1_0 -  )
//force
    void                 transform (const uchar*);
%End

//end

protected:

%If (  - KDE_3_1_0 )
    void                 transform (const uchar*);
%End


};  // class KMD5


%If ( KDE_3_4_0 -  )

class KMD4
{
%TypeHeaderCode
#include <kmdcodec.h>
%End


public:
//ig     typedef uchar Digest[16];
                         KMD4 ();
                         KMD4 (const char*, int = -1);
                         KMD4 (const TQByteArray&);
                         KMD4 (const TQCString&);
    void                 update (const char*, int = -1);
//igx     void                 update (const uchar*, int = -1);
    void                 update (const TQByteArray&);
    void                 update (const TQCString&);
    bool                 update (TQIODevice&);
    void                 reset ();
//ig     const Digest&        rawDigest ();
//ig     void                 rawDigest (KMD4::Digest&);
    TQCString             hexDigest ();
    void                 hexDigest (TQCString&);
    TQCString             base64Digest ();
//ig     bool                 verify (const KMD4::Digest&);
    bool                 verify (const TQCString&);

protected:
//ig     void                 transform (ulong, const ulong);
    void                 finalize ();

private:
                         KMD4 (const KMD4&);

};  // class KMD4

%End

