Expose asset timestamp probe boundary

This commit is contained in:
2026-06-12 16:54:42 +02:00
parent b9b0663546
commit a6b01c2d12
5 changed files with 48 additions and 15 deletions

View File

@@ -5,6 +5,19 @@
namespace pp::platform {
AssetFileTimestampProbe probe_asset_file_timestamp(std::string_view absolute_path)
{
struct stat file_info {};
const std::string path(absolute_path);
if (stat(path.c_str(), &file_info) != 0)
return {};
return {
true,
static_cast<std::int64_t>(file_info.st_mtime),
};
}
AssetFileLoadDecision plan_asset_file_load_with_probe(
PlatformFamily family,
bool already_loaded,
@@ -43,25 +56,11 @@ AssetFileLoadDecision plan_asset_file_load_for_platform(
{});
}
struct stat file_info {};
const std::string path(absolute_path);
if (stat(path.c_str(), &file_info) != 0)
{
return plan_asset_file_load_with_probe(
family,
already_loaded,
previous_last_write_time,
{});
}
return plan_asset_file_load_with_probe(
family,
already_loaded,
previous_last_write_time,
{
true,
static_cast<std::int64_t>(file_info.st_mtime),
});
probe_asset_file_timestamp(absolute_path));
}
AssetFileLoadDecision plan_asset_file_load(

View File

@@ -18,6 +18,9 @@ struct AssetFileTimestampProbe {
std::int64_t last_write_time = 0;
};
[[nodiscard]] AssetFileTimestampProbe probe_asset_file_timestamp(
std::string_view absolute_path);
[[nodiscard]] AssetFileLoadDecision plan_asset_file_load_with_probe(
PlatformFamily family,
bool already_loaded,