mirror of
https://github.com/PrismLauncher/PrismLauncher.git
synced 2025-09-08 11:31:32 -04:00
30 lines
668 B
C++
30 lines
668 B
C++
#pragma once
|
|
|
|
#include <archive.h>
|
|
#include <archive_entry.h>
|
|
|
|
#include <QByteArray>
|
|
#include <QFileDevice>
|
|
#include "archive/ArchiveReader.h"
|
|
|
|
namespace MMCZip {
|
|
|
|
class ArchiveWriter {
|
|
public:
|
|
ArchiveWriter(const QString& archiveName);
|
|
virtual ~ArchiveWriter();
|
|
|
|
bool open();
|
|
bool close();
|
|
|
|
bool addFile(const QString& fileName, const QString& fileDest);
|
|
bool addFile(const QString& fileDest, const QByteArray& data);
|
|
bool addFile(ArchiveReader::File* f);
|
|
|
|
static std::unique_ptr<archive, void (*)(archive*)> createDiskWriter();
|
|
|
|
private:
|
|
struct archive* m_archive = nullptr;
|
|
QString m_filename;
|
|
};
|
|
} // namespace MMCZip
|