Files
OpenVulkano/openVulkanoCpp/IO/FileDescription.hpp
2024-07-03 14:22:46 +02:00

36 lines
935 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 <filesystem>
namespace OpenVulkano
{
struct FileDescription
{
constexpr static inline std::filesystem::perms ALL_READ = std::filesystem::perms::owner_read | std::filesystem::perms::group_read | std::filesystem::perms::others_read;
constexpr static inline size_t UNKNOWN_SIZE = SIZE_MAX;
std::filesystem::file_type type;
std::string path;
size_t size;
std::filesystem::perms permissions;
time_t createTime, modTime;
static FileDescription MakeDescriptionForFile(const char* path, size_t size)
{
return {
std::filesystem::file_type::regular,
path,
size,
std::filesystem::perms::owner_write | ALL_READ,
std::time(nullptr), std::time(nullptr)
};
}
};
}