30 lines
823 B
C++
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;
|
|
};
|
|
}
|