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


//                 Generated by preSip
//            module kdecore  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 QCString      quotedPrintableEncode (const QByteArray&, bool);
    static QCString      quotedPrintableEncode (const QCString&, bool = 1);
    static void          quotedPrintableEncode (const QByteArray&, QByteArray&, bool);
    static QCString      quotedPrintableDecode (const QByteArray&);
    static QCString      quotedPrintableDecode (const QCString&);
    static void          quotedPrintableDecode (const QByteArray&, QByteArray&);
    static QCString      uuencode (const QByteArray&);
    static QCString      uuencode (const QCString&);
    static void          uuencode (const QByteArray&, QByteArray&);
    static QCString      uudecode (const QByteArray&);
    static QCString      uudecode (const QCString&);
    static void          uudecode (const QByteArray&, QByteArray&);
    static QCString      base64Encode (const QByteArray&, bool);
    static QCString      base64Encode (const QCString&, bool);
    static void          base64Encode (const QByteArray&, QByteArray&, bool);
    static QCString      base64Decode (const QByteArray&);
    static QCString      base64Decode (const QCString&);
    static void          base64Decode (const QByteArray&, QByteArray&);

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 QByteArray&);
                         KMD5 (const QCString&);
    void                 update (const char*, int = -1);
//igx     void                 update (const uchar*, int = -1);
    void                 update (const QByteArray&);
    void                 update (const QCString&);
    bool                 update (QIODevice&);
    void                 reset ();
//ig     const Digest&        rawDigest ();
//ig     void                 rawDigest (KMD5::Digest&);
    QCString             hexDigest ();
    void                 hexDigest (QCString&);
    QCString             base64Digest ();
//ig     bool                 verify (const KMD5::Digest&);
    bool                 verify (const QCString&);

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 QByteArray&);
                         KMD4 (const QCString&);
    void                 update (const char*, int = -1);
//igx     void                 update (const uchar*, int = -1);
    void                 update (const QByteArray&);
    void                 update (const QCString&);
    bool                 update (QIODevice&);
    void                 reset ();
//ig     const Digest&        rawDigest ();
//ig     void                 rawDigest (KMD4::Digest&);
    QCString             hexDigest ();
    void                 hexDigest (QCString&);
    QCString             base64Digest ();
//ig     bool                 verify (const KMD4::Digest&);
    bool                 verify (const QCString&);

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

private:
                         KMD4 (const KMD4&);

};  // class KMD4

%End

