1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 21:47:46 +00:00

LibCore: Add helper to load a possibly-relative path into a Resource

This commit is contained in:
Andrew Kaster 2023-10-18 14:08:44 -06:00 committed by Andrew Kaster
parent 81366b860b
commit a4c7d9a374
2 changed files with 13 additions and 0 deletions

View file

@ -7,6 +7,7 @@
#include <AK/LexicalPath.h>
#include <LibCore/Resource.h>
#include <LibCore/ResourceImplementation.h>
#include <LibCore/System.h>
namespace Core {
@ -31,6 +32,17 @@ Resource::Resource(String path, Scheme scheme, DirectoryTag)
{
}
ErrorOr<NonnullRefPtr<Resource>> Resource::load_from_filesystem(StringView path)
{
auto filepath = LexicalPath(path);
if (filepath.is_absolute())
return load_from_uri(TRY(String::formatted("file://{}", path)));
auto cwd = TRY(Core::System::getcwd());
return load_from_uri(TRY(String::formatted("file://{}", filepath.prepend(cwd).string())));
}
ErrorOr<NonnullRefPtr<Resource>> Resource::load_from_uri(StringView uri)
{
return ResourceImplementation::the().load_from_uri(uri);