1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 01:07:36 +00:00

AK: Move Stream and SeekableStream from LibCore

`Stream` will be qualified as `AK::Stream` until we remove the
`Core::Stream` namespace. `IODevice` now reuses the `SeekMode` that is
defined by `SeekableStream`, since defining its own would require us to
qualify it with `AK::SeekMode` everywhere.
This commit is contained in:
Tim Schumacher 2023-01-22 05:09:11 +01:00 committed by Andrew Kaster
parent 5f2ea31816
commit 8464da1439
96 changed files with 620 additions and 586 deletions

View file

@ -16,7 +16,7 @@ namespace Archive {
class TarInputStream;
class TarFileStream : public Core::Stream::Stream {
class TarFileStream : public AK::Stream {
public:
virtual ErrorOr<Bytes> read(Bytes) override;
virtual ErrorOr<size_t> write(ReadonlyBytes) override;
@ -34,7 +34,7 @@ private:
class TarInputStream {
public:
static ErrorOr<NonnullOwnPtr<TarInputStream>> construct(NonnullOwnPtr<Core::Stream::Stream>);
static ErrorOr<NonnullOwnPtr<TarInputStream>> construct(NonnullOwnPtr<AK::Stream>);
ErrorOr<void> advance();
bool finished() const { return m_found_end_of_archive || m_stream->is_eof(); }
ErrorOr<bool> valid() const;
@ -45,11 +45,11 @@ public:
ErrorOr<void> for_each_extended_header(F func);
private:
TarInputStream(NonnullOwnPtr<Core::Stream::Stream>);
TarInputStream(NonnullOwnPtr<AK::Stream>);
ErrorOr<void> load_next_header();
TarFileHeader m_header;
NonnullOwnPtr<Core::Stream::Stream> m_stream;
NonnullOwnPtr<AK::Stream> m_stream;
unsigned long m_file_offset { 0 };
int m_generation { 0 };
bool m_found_end_of_archive { false };
@ -59,14 +59,14 @@ private:
class TarOutputStream {
public:
TarOutputStream(MaybeOwned<Core::Stream::Stream>);
TarOutputStream(MaybeOwned<AK::Stream>);
ErrorOr<void> add_file(StringView path, mode_t, ReadonlyBytes);
ErrorOr<void> add_link(StringView path, mode_t, StringView);
ErrorOr<void> add_directory(StringView path, mode_t);
ErrorOr<void> finish();
private:
MaybeOwned<Core::Stream::Stream> m_stream;
MaybeOwned<AK::Stream> m_stream;
bool m_finished { false };
friend class TarFileStream;