Home · All Namespaces · All Classes · Main Classes · Grouped Classes · Modules · Functions |
/****************************************************************************
**
** Copyright (C) 2004-2008 Nokia Corporation and/or its subsidiary(-ies). All rights reserved.
**
** This file is part of the documentation of the Qt Toolkit.
**
** Licensees holding a valid Qt License Agreement may use this file in
** accordance with the rights, responsibilities and obligations
** contained therein. Please consult your licensing agreement or
** contact [email protected] if any conditions of this licensing
** agreement are not clear to you.
**
** Further information about Qt licensing is available at:
** http://trolltech.com/products/appdev/licensing.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
**
****************************************************************************/
#ifndef BENCODEPARSER_H
#define BENCODEPARSER_H
#include <QByteArray>
#include <QMap>
#include <QString>
#include <QVariant>
#include <QList>
typedef QMap<QByteArray,QVariant> Dictionary;
Q_DECLARE_METATYPE(Dictionary)
class BencodeParser
{
public:
BencodeParser();
bool parse(const QByteArray &content);
QString errorString() const;
QMap<QByteArray, QVariant> dictionary() const;
QByteArray infoSection() const;
private:
bool getByteString(QByteArray *byteString);
bool getInteger(qint64 *integer);
bool getList(QList<QVariant> *list);
bool getDictionary(QMap<QByteArray, QVariant> *dictionary);
QMap<QByteArray, QVariant> dictionaryValue;
QString errString;
QByteArray content;
int index;
int infoStart;
int infoLength;
};
#endif
Copyright © 2008 Nokia Corporation and/or its subsidiary(-ies) | Trademarks | Qt 4.4.3 |