lightningbolt/lib/bolt/Reader.hpp

34 lines
521 B
C++

#pragma once
#include <base/ErrorOr.hpp>
#include <bolt/Errors.hpp>
#include <functional>
namespace lightningbolt {
struct BoltReader {
struct File {
std::string_view filename;
u16 index;
u16 gid;
bool compressed;
u8* uncompressedData { nullptr };
usize uncompressedSize;
};
BoltReader();
~BoltReader();
ErrorOr<void> OpenBolt(const fs::path& path);
void ForEachFile(std::function<bool(File&)> f);
private:
struct Impl;
Unique<Impl> impl;
};
} // namespace lightningbolt