summaryrefslogtreecommitdiffstats
path: root/torrentparser.h
blob: 1b64d14b8bba70d2080482fa126cf3278753359c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#ifndef TORRENTPARSER_H
#define TORRENTPARSER_H

#include <QObject>
#include <QString>
#include <QByteArray>
#include <QList>
#include <QVariant>
#include <QHash>

class TorrentParser : public QObject {
    Q_OBJECT
    public:
        TorrentParser(const QString file, QObject *parent = nullptr);
        const QList<QVariant> parse();
        const QStringList files(QList<QVariant> data);

    private:
        const QVariant parseObject();
        const QByteArray parseString();
        int parseInt();
        const QList<QVariant> parseList();
        const QHash<QString,QVariant> parseDict();
        QString mFile;
        QString mLastError;
        QByteArray mData;
        int mPos;
};

#endif // TORRENTPARSER_H