mirror of
https://github.com/YACReader/yacreader
synced 2026-04-12 15:49:53 -04:00
Some checks failed
Build / Initialization (push) Has been cancelled
Build / Code Format Validation (push) Has been cancelled
Build / Linux (Qt6) (push) Has been cancelled
Build / Linux (Qt6 + 7zip) (push) Has been cancelled
Build / macOS (Qt6 Universal) (push) Has been cancelled
Build / Windows x64 (Qt6) (push) Has been cancelled
Build / Windows ARM64 (Qt6) (push) Has been cancelled
Build / Docker amd64 Image (push) Has been cancelled
Build / Docker arm64 Image (push) Has been cancelled
Build / Publish Dev Builds (push) Has been cancelled
Build / Publish Release (push) Has been cancelled
Build / Publish YACReader10 Pre-release Builds (push) Has been cancelled
39 lines
764 B
C++
39 lines
764 B
C++
#ifndef COMPRESSED_ARCHIVE_H
|
|
#define COMPRESSED_ARCHIVE_H
|
|
|
|
#include "extract_delegate.h"
|
|
|
|
#include <QObject>
|
|
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
|