From 1f44c9468a67d5a56ca46a393781647b81e77258 Mon Sep 17 00:00:00 2001 From: Timothy Flynn Date: Thu, 14 Mar 2024 19:15:40 -0400 Subject: [PATCH] LibCore: Replace MIME type description lookup with a more generic method Rather than adding a bunch of `get_*_from_mime_type` functions, add just one to get the Core::MimeType instance. We will need multiple fields at once in Browser. --- Userland/Libraries/LibCore/MimeData.cpp | 6 +++--- Userland/Libraries/LibCore/MimeData.h | 2 +- Userland/Utilities/file.cpp | 8 ++++---- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/Userland/Libraries/LibCore/MimeData.cpp b/Userland/Libraries/LibCore/MimeData.cpp index 75ba279e84..cc919511f5 100644 --- a/Userland/Libraries/LibCore/MimeData.cpp +++ b/Userland/Libraries/LibCore/MimeData.cpp @@ -168,14 +168,14 @@ Optional guess_mime_type_based_on_sniffed_bytes(ReadonlyBytes bytes) return {}; } -Optional get_description_from_mime_type(StringView mime_name) +Optional get_mime_type_data(StringView mime_name) { for (auto const& mime_type : s_registered_mime_type) { if (mime_name == mime_type.name) - return mime_type.description; + return mime_type; } - return OptionalNone {}; + return {}; } Optional guess_mime_type_based_on_sniffed_bytes(Core::File& file) diff --git a/Userland/Libraries/LibCore/MimeData.h b/Userland/Libraries/LibCore/MimeData.h index ee70e506b5..5811e94081 100644 --- a/Userland/Libraries/LibCore/MimeData.h +++ b/Userland/Libraries/LibCore/MimeData.h @@ -61,6 +61,6 @@ struct MimeType { u64 offset { 0 }; }; -Optional get_description_from_mime_type(StringView); +Optional get_mime_type_data(StringView); } diff --git a/Userland/Utilities/file.cpp b/Userland/Utilities/file.cpp index db54a5a6d8..532f79a766 100644 --- a/Userland/Utilities/file.cpp +++ b/Userland/Utilities/file.cpp @@ -168,17 +168,17 @@ static constexpr Array s_pattern_with_specialized_functions { static ErrorOr> get_description_from_mime_type(StringView mime, StringView path) { - auto const description = Core::get_description_from_mime_type(mime); + auto const mime_type = Core::get_mime_type_data(mime); - if (!description.has_value()) + if (!mime_type.has_value()) return OptionalNone {}; for (auto const& pattern : s_pattern_with_specialized_functions) { if (mime.matches(pattern.matching_pattern)) - return pattern.details(*description, path); + return pattern.details(mime_type->description, path); } - return description_only(*description, path); + return description_only(mime_type->description, path); } ErrorOr serenity_main(Main::Arguments arguments)