diff --git a/openVulkanoCpp/IO/Archive/ArchiveWriter.cpp b/openVulkanoCpp/IO/Archive/ArchiveWriter.cpp index f32e281..153f1ce 100644 --- a/openVulkanoCpp/IO/Archive/ArchiveWriter.cpp +++ b/openVulkanoCpp/IO/Archive/ArchiveWriter.cpp @@ -11,10 +11,11 @@ #include #include #include +#include namespace OpenVulkano { - ArchiveWriter::ArchiveWriter(const char* fileName, ArchiveConfiguration archiveConfiguration, const std::shared_ptr& logger) + ArchiveWriter::ArchiveWriter(const char* fileName, ArchiveConfiguration archiveConfiguration, const std::shared_ptr& logger, const char* password) : ArchiveBase(archive_write_new(), archive_entry_new(), logger) , m_archiveConfig(archiveConfiguration) , m_shouldCompress(&SimpleFileTypeShouldCompressChecker) @@ -30,6 +31,7 @@ namespace OpenVulkano std::string level = "compression-level=" + std::to_string(archiveConfiguration.compressionLevel); ChkErr(archive_write_set_options(m_archive, level.c_str())); } + if (password) ChkErr(archive_write_set_passphrase(m_archive, password)); ChkErr(archive_write_open_filename(m_archive, fileName)); } diff --git a/openVulkanoCpp/IO/Archive/ArchiveWriter.hpp b/openVulkanoCpp/IO/Archive/ArchiveWriter.hpp index f1540bc..d13afeb 100644 --- a/openVulkanoCpp/IO/Archive/ArchiveWriter.hpp +++ b/openVulkanoCpp/IO/Archive/ArchiveWriter.hpp @@ -26,11 +26,11 @@ namespace OpenVulkano std::function m_shouldCompress; public: - ArchiveWriter(const char* fileName, const std::shared_ptr& logger = nullptr) - : ArchiveWriter(fileName, ArchiveConfiguration::FromFileName(fileName), logger) + ArchiveWriter(const char* fileName, const std::shared_ptr& logger = nullptr, const char* password = nullptr) + : ArchiveWriter(fileName, ArchiveConfiguration::FromFileName(fileName), logger, password) {} - ArchiveWriter(const char* fileName, ArchiveConfiguration archiveConfiguration, const std::shared_ptr& logger = nullptr); + ArchiveWriter(const char* fileName, ArchiveConfiguration archiveConfiguration, const std::shared_ptr& logger = nullptr, const char* password = nullptr); ~ArchiveWriter() override;