// qcryptographichash.sip generated by MetaSIP
//
// This file is part of the QtCore Python extension module.
//
// Copyright (c) 2016 Riverbank Computing Limited <info@riverbankcomputing.com>
// 
// This file is part of PyQt4.
// 
// This file may be used under the terms of the GNU General Public License
// version 3.0 as published by the Free Software Foundation and appearing in
// the file LICENSE included in the packaging of this file.  Please review the
// following information to ensure the GNU General Public License version 3.0
// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
// 
// If you do not wish to use this file under the terms of the GPL version 3.0
// then you may purchase a commercial license.  For more information contact
// info@riverbankcomputing.com.
// 
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.


%If (Qt_4_3_0 -)

class QCryptographicHash
{
%TypeHeaderCode
#include <qcryptographichash.h>
%End

public:
    enum Algorithm
    {
        Md4,
        Md5,
        Sha1,
%If (Qt_5_0_0 -)
        Sha224,
%End
%If (Qt_5_0_0 -)
        Sha256,
%End
%If (Qt_5_0_0 -)
        Sha384,
%End
%If (Qt_5_0_0 -)
        Sha512,
%End
    };

%If (Qt_5_0_0 -)
    explicit QCryptographicHash(QCryptographicHash::Algorithm method);
%End
%If (- Qt_5_0_0)
    QCryptographicHash(QCryptographicHash::Algorithm method);
%End
    ~QCryptographicHash();
    void reset();
    void addData(const char *data /Array, TypeHint="Py_v3:bytes;str"/, int length /ArraySize/);
    void addData(const QByteArray &data);
%If (Qt_5_0_0 -)
    bool addData(QIODevice *device);
%End
    QByteArray result() const;
    static QByteArray hash(const QByteArray &data, QCryptographicHash::Algorithm method);

private:
    QCryptographicHash(const QCryptographicHash &);
};

%End
