Files
OpenVulkano/openVulkanoCpp/IO/Archive/ArchiveConfiguration.hpp

30 lines
823 B
C++

/*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
*/
#pragma once
#include <string>
namespace openVulkanoCpp
{
struct ArchiveConfiguration
{
enum class ArchiveType { TAR = 0, CPIO, ISO, ZIP, XAR, SEVEN_ZIP, WARC, SHAR };
enum class CompressionType { AUTO, NONE, GZIP, BZIP2, XZ, LZ4, ZSTD };
ArchiveType type = ArchiveType::TAR;
CompressionType compression = CompressionType::AUTO;
int compressionLevel = -1;
[[nodiscard]] std::string GetFileExtension() const;
static ArchiveConfiguration FromFileName(const char* fileName);
[[nodiscard]] int GetLibArchiveArchiveType() const;
[[nodiscard]] int GetLibArchiveCompressionType() const;
};
}