mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 19:37:34 +00:00
LibCore: Use ErrorOr<T> for Core::File::open()
This commit is contained in:
parent
fac2550143
commit
a7f1f1c34b
24 changed files with 42 additions and 48 deletions
|
@ -27,11 +27,11 @@
|
|||
|
||||
namespace Core {
|
||||
|
||||
Result<NonnullRefPtr<File>, OSError> File::open(String filename, OpenMode mode, mode_t permissions)
|
||||
ErrorOr<NonnullRefPtr<File>> File::open(String filename, OpenMode mode, mode_t permissions)
|
||||
{
|
||||
auto file = File::construct(move(filename));
|
||||
if (!file->open_impl(mode, permissions))
|
||||
return OSError(file->error());
|
||||
return Error::from_errno(file->error());
|
||||
return file;
|
||||
}
|
||||
|
||||
|
|
|
@ -7,8 +7,6 @@
|
|||
#pragma once
|
||||
|
||||
#include <AK/Error.h>
|
||||
#include <AK/OSError.h>
|
||||
#include <AK/Result.h>
|
||||
#include <AK/String.h>
|
||||
#include <LibCore/IODevice.h>
|
||||
#include <sys/stat.h>
|
||||
|
@ -20,7 +18,7 @@ class File final : public IODevice {
|
|||
public:
|
||||
virtual ~File() override;
|
||||
|
||||
static Result<NonnullRefPtr<File>, OSError> open(String filename, OpenMode, mode_t = 0644);
|
||||
static ErrorOr<NonnullRefPtr<File>> open(String filename, OpenMode, mode_t = 0644);
|
||||
|
||||
String filename() const { return m_filename; }
|
||||
void set_filename(const String filename) { m_filename = move(filename); }
|
||||
|
|
|
@ -9,6 +9,7 @@
|
|||
#include <AK/Buffered.h>
|
||||
#include <AK/ByteBuffer.h>
|
||||
#include <AK/Stream.h>
|
||||
#include <AK/Try.h>
|
||||
#include <LibCore/File.h>
|
||||
|
||||
namespace Core {
|
||||
|
@ -20,28 +21,18 @@ public:
|
|||
{
|
||||
}
|
||||
|
||||
static Result<InputFileStream, OSError> open(StringView filename, OpenMode mode = OpenMode::ReadOnly, mode_t permissions = 0644)
|
||||
static ErrorOr<InputFileStream> open(StringView filename, OpenMode mode = OpenMode::ReadOnly, mode_t permissions = 0644)
|
||||
{
|
||||
VERIFY(has_flag(mode, OpenMode::ReadOnly));
|
||||
|
||||
auto file_result = File::open(filename, mode, permissions);
|
||||
|
||||
if (file_result.is_error())
|
||||
return file_result.error();
|
||||
|
||||
return InputFileStream { file_result.value() };
|
||||
auto file = TRY(File::open(filename, mode, permissions));
|
||||
return InputFileStream { move(file) };
|
||||
}
|
||||
|
||||
static Result<Buffered<InputFileStream>, OSError> open_buffered(StringView filename, OpenMode mode = OpenMode::ReadOnly, mode_t permissions = 0644)
|
||||
static ErrorOr<Buffered<InputFileStream>> open_buffered(StringView filename, OpenMode mode = OpenMode::ReadOnly, mode_t permissions = 0644)
|
||||
{
|
||||
VERIFY(has_flag(mode, OpenMode::ReadOnly));
|
||||
|
||||
auto file_result = File::open(filename, mode, permissions);
|
||||
|
||||
if (file_result.is_error())
|
||||
return file_result.error();
|
||||
|
||||
return Buffered<InputFileStream> { file_result.value() };
|
||||
auto file = TRY(File::open(filename, mode, permissions));
|
||||
return Buffered<InputFileStream> { move(file) };
|
||||
}
|
||||
|
||||
size_t read(Bytes bytes) override
|
||||
|
@ -89,28 +80,18 @@ public:
|
|||
{
|
||||
}
|
||||
|
||||
static Result<OutputFileStream, OSError> open(StringView filename, OpenMode mode = OpenMode::WriteOnly, mode_t permissions = 0644)
|
||||
static ErrorOr<OutputFileStream> open(StringView filename, OpenMode mode = OpenMode::WriteOnly, mode_t permissions = 0644)
|
||||
{
|
||||
VERIFY(has_flag(mode, OpenMode::WriteOnly));
|
||||
|
||||
auto file_result = File::open(filename, mode, permissions);
|
||||
|
||||
if (file_result.is_error())
|
||||
return file_result.error();
|
||||
|
||||
return OutputFileStream { file_result.value() };
|
||||
auto file = TRY(File::open(filename, mode, permissions));
|
||||
return OutputFileStream { move(file) };
|
||||
}
|
||||
|
||||
static Result<Buffered<OutputFileStream>, OSError> open_buffered(StringView filename, OpenMode mode = OpenMode::WriteOnly, mode_t permissions = 0644)
|
||||
static ErrorOr<Buffered<OutputFileStream>> open_buffered(StringView filename, OpenMode mode = OpenMode::WriteOnly, mode_t permissions = 0644)
|
||||
{
|
||||
VERIFY(has_flag(mode, OpenMode::WriteOnly));
|
||||
|
||||
auto file_result = File::open(filename, mode, permissions);
|
||||
|
||||
if (file_result.is_error())
|
||||
return file_result.error();
|
||||
|
||||
return Buffered<OutputFileStream> { file_result.value() };
|
||||
auto file = TRY(File::open(filename, mode, permissions));
|
||||
return Buffered<OutputFileStream> { move(file) };
|
||||
}
|
||||
|
||||
static OutputFileStream standard_output()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue