Extend ArchiveReader to allow opening the archive later

This commit is contained in:
2020-12-22 22:04:06 +01:00
parent 4505aed2f8
commit 43129a2245
2 changed files with 49 additions and 12 deletions

View File

@@ -17,10 +17,14 @@ namespace openVulkanoCpp
{
class ArchiveReader final : public ArchiveBase
{
bool m_open = false;
bool m_eof = false;
void ReadNextHeader();
public:
explicit ArchiveReader(const std::shared_ptr<spdlog::logger>& logger = nullptr);
explicit ArchiveReader(const char* archiveFile, const std::shared_ptr<spdlog::logger>& logger = nullptr);
explicit ArchiveReader(const std::string& archiveFile, const std::shared_ptr<spdlog::logger>& logger = nullptr);
@@ -29,6 +33,14 @@ namespace openVulkanoCpp
~ArchiveReader() override;
bool Open(const char* archiveFile);
bool Open(const std::string& archiveFile);
bool Open(const void* archiveBuffer, size_t size);
[[nodiscard]] bool IsOpen() const { return m_open; }
size_t ExtractRemaining(std::string_view targetDir);
// Element wise operations