diff options
author | Tim Schumacher <timschumi@gmx.de> | 2023-01-20 01:41:17 +0100 |
---|---|---|
committer | Andreas Kling <kling@serenityos.org> | 2023-01-21 14:43:56 +0100 |
commit | 63cf9b973dead6241ec1d007020db90fc78c0aa1 (patch) | |
tree | 48ac97c86ce10124074dd6d6b01dcc5f65739453 | |
parent | 9d7606b8de8aa31d40a5c725242c62bbf60e54f1 (diff) | |
download | serenity-63cf9b973dead6241ec1d007020db90fc78c0aa1.zip |
AK: Remove `FileStream`
-rw-r--r-- | AK/FileStream.h | 176 | ||||
-rw-r--r-- | Userland/Libraries/LibHTTP/Job.h | 1 | ||||
-rw-r--r-- | Userland/Libraries/LibProtocol/Request.h | 1 | ||||
-rw-r--r-- | Userland/Libraries/LibProtocol/RequestClient.cpp | 1 | ||||
-rw-r--r-- | Userland/Services/RequestServer/Request.h | 1 | ||||
-rw-r--r-- | Userland/Utilities/pro.cpp | 1 |
6 files changed, 0 insertions, 181 deletions
diff --git a/AK/FileStream.h b/AK/FileStream.h deleted file mode 100644 index 355d5097ca..0000000000 --- a/AK/FileStream.h +++ /dev/null @@ -1,176 +0,0 @@ -/* - * Copyright (c) 2020, the SerenityOS developers. - * - * SPDX-License-Identifier: BSD-2-Clause - */ - -#pragma once - -#include <AK/Stream.h> -#ifndef KERNEL -# include <errno.h> -# include <stdio.h> - -namespace AK { - -class InputFileStream : public InputStream { -public: - explicit InputFileStream(int fd) - : m_file(fdopen(fd, "r")) - , m_owned(true) - { - if (!m_file) - set_fatal_error(); - } - - explicit InputFileStream(FILE* fp) - : m_file(fp) - { - if (!m_file) - set_fatal_error(); - } - - ~InputFileStream() - { - if (m_file) { - fflush(m_file); - if (m_owned) - fclose(m_file); - } - } - - bool unreliable_eof() const override { return eof(); } - bool eof() const { return feof(m_file); } - - size_t read(Bytes bytes) override - { - if (has_any_error()) - return 0; - return fread(bytes.data(), sizeof(u8), bytes.size(), m_file); - } - - bool read_or_error(Bytes bytes) override - { - if (has_any_error()) - return false; - auto size = read(bytes); - if (size < bytes.size()) { - set_recoverable_error(); - return false; - } - return true; - } - bool discard_or_error(size_t count) override - { - if (fseek(m_file, count, SEEK_CUR) == 0) - return true; - - // TODO: Why not ferror(m_file)? - if (errno != ESPIPE) - return false; - - char buf[4]; - size_t i = 0; - while (i < count) { - auto size = min(count - i, 4ul); - if (read({ buf, size }) < size) { - // Can't reset here. - return false; - } - i += size; - } - - return true; - } - - bool seek(size_t offset, int whence = SEEK_SET) - { - return fseek(m_file, offset, whence) == 0; - } - - virtual bool handle_any_error() override - { - clearerr(m_file); - return Stream::handle_any_error(); - } - - void make_unbuffered() - { - setvbuf(m_file, nullptr, _IONBF, 0); - } - -private: - FILE* m_file { nullptr }; - bool m_owned { false }; -}; - -class OutputFileStream : public OutputStream { -public: - explicit OutputFileStream(int fd) - : m_file(fdopen(fd, "w")) - , m_owned(true) - { - if (!m_file) - set_fatal_error(); - } - - explicit OutputFileStream(FILE* fp) - : m_file(fp) - { - if (!m_file) - set_fatal_error(); - } - - ~OutputFileStream() - { - if (m_file) { - fflush(m_file); - if (m_owned) - fclose(m_file); - } - } - - size_t write(ReadonlyBytes bytes) override - { - auto nwritten = fwrite(bytes.data(), sizeof(u8), bytes.size(), m_file); - m_bytes_written += nwritten; - return nwritten; - } - - bool write_or_error(ReadonlyBytes bytes) override - { - auto nwritten = write(bytes); - if (nwritten < bytes.size()) { - set_recoverable_error(); - return false; - } - return true; - } - - size_t size() const { return m_bytes_written; } - - virtual bool handle_any_error() override - { - clearerr(m_file); - return Stream::handle_any_error(); - } - - void make_unbuffered() - { - setvbuf(m_file, nullptr, _IONBF, 0); - } - -private: - FILE* m_file { nullptr }; - size_t m_bytes_written { 0 }; - bool m_owned { false }; -}; - -} - -# if USING_AK_GLOBALLY -using AK::InputFileStream; -using AK::OutputFileStream; -# endif - -#endif diff --git a/Userland/Libraries/LibHTTP/Job.h b/Userland/Libraries/LibHTTP/Job.h index 66439efef5..853a728a79 100644 --- a/Userland/Libraries/LibHTTP/Job.h +++ b/Userland/Libraries/LibHTTP/Job.h @@ -6,7 +6,6 @@ #pragma once -#include <AK/FileStream.h> #include <AK/HashMap.h> #include <AK/NonnullOwnPtrVector.h> #include <AK/Optional.h> diff --git a/Userland/Libraries/LibProtocol/Request.h b/Userland/Libraries/LibProtocol/Request.h index c8029ee392..d3cd12953c 100644 --- a/Userland/Libraries/LibProtocol/Request.h +++ b/Userland/Libraries/LibProtocol/Request.h @@ -9,7 +9,6 @@ #include <AK/Badge.h> #include <AK/ByteBuffer.h> #include <AK/DeprecatedString.h> -#include <AK/FileStream.h> #include <AK/Function.h> #include <AK/MemoryStream.h> #include <AK/RefCounted.h> diff --git a/Userland/Libraries/LibProtocol/RequestClient.cpp b/Userland/Libraries/LibProtocol/RequestClient.cpp index 933f979302..cdc2e6ddc4 100644 --- a/Userland/Libraries/LibProtocol/RequestClient.cpp +++ b/Userland/Libraries/LibProtocol/RequestClient.cpp @@ -4,7 +4,6 @@ * SPDX-License-Identifier: BSD-2-Clause */ -#include <AK/FileStream.h> #include <LibProtocol/Request.h> #include <LibProtocol/RequestClient.h> diff --git a/Userland/Services/RequestServer/Request.h b/Userland/Services/RequestServer/Request.h index 1e6556810f..6b4a9a107a 100644 --- a/Userland/Services/RequestServer/Request.h +++ b/Userland/Services/RequestServer/Request.h @@ -6,7 +6,6 @@ #pragma once -#include <AK/FileStream.h> #include <AK/HashMap.h> #include <AK/NonnullOwnPtr.h> #include <AK/Optional.h> diff --git a/Userland/Utilities/pro.cpp b/Userland/Utilities/pro.cpp index 8019570204..0756191ccc 100644 --- a/Userland/Utilities/pro.cpp +++ b/Userland/Utilities/pro.cpp @@ -6,7 +6,6 @@ */ #include <AK/Base64.h> -#include <AK/FileStream.h> #include <AK/GenericLexer.h> #include <AK/LexicalPath.h> #include <AK/NumberFormat.h> |