#include "platform_api/asset_file_load_policy.h" #include #include namespace pp::platform { AssetFileLoadDecision plan_asset_file_load( std::string_view absolute_path, bool already_loaded, std::int64_t previous_last_write_time) { #if defined(_WIN32) || defined(__OSX__) struct stat file_info {}; const std::string path(absolute_path); if (stat(path.c_str(), &file_info) != 0) return { false, false, previous_last_write_time }; const auto current_last_write_time = static_cast(file_info.st_mtime); if (current_last_write_time <= previous_last_write_time) return { false, false, previous_last_write_time }; return { true, true, current_last_write_time }; #else if (already_loaded) return { false, true, previous_last_write_time }; (void)absolute_path; return { true, true, previous_last_write_time }; #endif } }