#ifndef COMPRESSED_ARCHIVE_H #define COMPRESSED_ARCHIVE_H #include #include "extract_delegate.h" extern "C" { #include } 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 &indexes, ExtractDelegate *delegate = 0); QByteArray getRawDataAtIndex(int index); QList getFileNames(); bool isValid(); bool toolsLoaded(); private: bool tools; bool valid; QList fileNames; int numFiles; ar_archive *ar; ar_stream *stream; QList offsets; }; #endif // COMPRESSED_ARCHIVE_H