add possibility to explicitly specify archive type for ArchiveReader

This commit is contained in:
ohyzha
2024-12-20 17:43:18 +02:00
parent deebb0ef96
commit 40d2a3ff8e
3 changed files with 42 additions and 15 deletions

View File

@@ -8,6 +8,7 @@
#include "ArchiveBase.hpp"
#include "Data/Containers/Array.hpp"
#include "ArchiveType.hpp"
#include <string_view>
#include <optional>
#include <functional>
@@ -20,17 +21,17 @@ namespace OpenVulkano
{
bool m_open = false;
bool m_eof = false;
ArchiveType::Type m_archiveType;
std::queue<std::string> m_archivesToRead;
public:
explicit ArchiveReader(const std::shared_ptr<spdlog::logger>& logger = nullptr);
explicit ArchiveReader(const std::shared_ptr<spdlog::logger>& logger = nullptr, ArchiveType::Type archiveType = ArchiveType::ANY);
explicit ArchiveReader(const char* archiveFile, const std::shared_ptr<spdlog::logger>& logger = nullptr);
explicit ArchiveReader(const char* archiveFile, const std::shared_ptr<spdlog::logger>& logger = nullptr, ArchiveType::Type archiveType = ArchiveType::ANY);
explicit ArchiveReader(const std::string& archiveFile, const std::shared_ptr<spdlog::logger>& logger = nullptr);
explicit ArchiveReader(const std::string& archiveFile, const std::shared_ptr<spdlog::logger>& logger = nullptr, ArchiveType::Type archiveType = ArchiveType::ANY);
ArchiveReader(const void* archiveBuffer, size_t size, const std::shared_ptr<spdlog::logger>& logger = nullptr);
ArchiveReader(const void* archiveBuffer, size_t size, const std::shared_ptr<spdlog::logger>& logger = nullptr, ArchiveType::Type archiveType = ArchiveType::ANY);
~ArchiveReader() override;