1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 04:17:34 +00:00

SoundPlayer: Port M3UParser to Core::Stream

Also make the path parameter a StringView, since that's what gets passed
in.
This commit is contained in:
Sam Atkins 2022-09-12 21:06:25 +01:00 committed by Tim Flynn
parent 684c3efc04
commit 183b054695
2 changed files with 5 additions and 6 deletions

View file

@ -9,17 +9,16 @@
#include <AK/RefPtr.h> #include <AK/RefPtr.h>
#include <AK/ScopeGuard.h> #include <AK/ScopeGuard.h>
#include <AK/Utf8View.h> #include <AK/Utf8View.h>
#include <LibCore/File.h> #include <LibCore/Stream.h>
M3UParser::M3UParser() M3UParser::M3UParser()
{ {
} }
NonnullOwnPtr<M3UParser> M3UParser::from_file(const String path) NonnullOwnPtr<M3UParser> M3UParser::from_file(StringView path)
{ {
auto file_result = Core::File::open(path, Core::OpenMode::ReadOnly); auto file_result = Core::Stream::File::open(path, Core::Stream::OpenMode::Read).release_value_but_fixme_should_propagate_errors();
VERIFY(!file_result.is_error()); auto contents = file_result->read_all().release_value_but_fixme_should_propagate_errors();
auto contents = file_result.value()->read_all();
auto use_utf8 = path.ends_with(".m3u8"sv, CaseSensitivity::CaseInsensitive); auto use_utf8 = path.ends_with(".m3u8"sv, CaseSensitivity::CaseInsensitive);
return from_memory(String { contents, NoChomp }, use_utf8); return from_memory(String { contents, NoChomp }, use_utf8);
} }

View file

@ -32,7 +32,7 @@ struct M3UEntry {
class M3UParser { class M3UParser {
public: public:
static NonnullOwnPtr<M3UParser> from_file(String path); static NonnullOwnPtr<M3UParser> from_file(StringView path);
static NonnullOwnPtr<M3UParser> from_memory(String const& m3u_contents, bool utf8); static NonnullOwnPtr<M3UParser> from_memory(String const& m3u_contents, bool utf8);
NonnullOwnPtr<Vector<M3UEntry>> parse(bool include_extended_info); NonnullOwnPtr<Vector<M3UEntry>> parse(bool include_extended_info);