36 lines
625 B
C++
36 lines
625 B
C++
#pragma once
|
|
|
|
#include <QTableWidget>
|
|
|
|
namespace Pak {
|
|
enum PakColumn {
|
|
ColumnId,
|
|
ColumnSize,
|
|
ColumnName,
|
|
};
|
|
}
|
|
|
|
struct PakNode;
|
|
|
|
struct PakDir : public std::map<std::string, PakNode> {
|
|
using std::map<std::string, PakNode>::map;
|
|
};
|
|
Q_DECLARE_METATYPE(PakDir)
|
|
|
|
struct PakFile : public QByteArray {
|
|
using QByteArray::QByteArray;
|
|
|
|
quint32 id{0};
|
|
};
|
|
Q_DECLARE_METATYPE(PakFile)
|
|
|
|
struct PakNode : public std::variant<PakDir, PakFile> {
|
|
using std::variant<PakDir, PakFile>::variant;
|
|
};
|
|
Q_DECLARE_METATYPE(PakNode)
|
|
|
|
PakDir readPak(std::istream &st);
|
|
void setTableToPakDir(QTableWidget &table, PakDir const &dir);
|
|
|
|
// EOF
|