#ifndef COMPRESSED_ARCHIVE_H #define COMPRESSED_ARCHIVE_H #include <QObject> #include "extract_delegate.h" extern "C" { #include <unarr.h> } class CompressedArchive : public QObject { Q_OBJECT public: explicit CompressedArchive(const QString &filePath, QObject *parent = 0); ~CompressedArchive(); signals: public slots: int getNumFiles(); void getAllData(const QVector<quint32> &indexes, ExtractDelegate *delegate = 0); QByteArray getRawDataAtIndex(int index); QList<QString> getFileNames(); bool isValid(); bool toolsLoaded(); private: bool tools; bool valid; QList<QString> fileNames; int numFiles; ar_archive *ar; ar_stream *stream; QList<qint64> offsets; }; #endif // COMPRESSED_ARCHIVE_H