Rename old IFile option enums

This commit is contained in:
Alex Barney 2020-06-06 14:18:03 -07:00
parent 8c61820e46
commit 064da36453
33 changed files with 98 additions and 98 deletions

View File

@ -17,20 +17,20 @@ namespace LibHac.Fs.Accessors
OpenMode = mode; OpenMode = mode;
} }
protected override Result ReadImpl(out long bytesRead, long offset, Span<byte> destination, ReadOption options) protected override Result ReadImpl(out long bytesRead, long offset, Span<byte> destination, ReadOptionFlag options)
{ {
CheckIfDisposed(); CheckIfDisposed();
return File.Read(out bytesRead, offset, destination, options); return File.Read(out bytesRead, offset, destination, options);
} }
protected override Result WriteImpl(long offset, ReadOnlySpan<byte> source, WriteOption options) protected override Result WriteImpl(long offset, ReadOnlySpan<byte> source, WriteOptionFlag options)
{ {
CheckIfDisposed(); CheckIfDisposed();
if (source.Length == 0) if (source.Length == 0)
{ {
WriteState = (WriteState)(~options & WriteOption.Flush); WriteState = (WriteState)(~options & WriteOptionFlag.Flush);
return Result.Success; return Result.Success;
} }
@ -39,7 +39,7 @@ namespace LibHac.Fs.Accessors
if (rc.IsSuccess()) if (rc.IsSuccess())
{ {
WriteState = (WriteState)(~options & WriteOption.Flush); WriteState = (WriteState)(~options & WriteOptionFlag.Flush);
} }
return rc; return rc;

View File

@ -9,8 +9,8 @@ namespace LibHac.Fs
private int _disposedState; private int _disposedState;
private bool IsDisposed => _disposedState != 0; private bool IsDisposed => _disposedState != 0;
protected abstract Result ReadImpl(out long bytesRead, long offset, Span<byte> destination, ReadOption options); protected abstract Result ReadImpl(out long bytesRead, long offset, Span<byte> destination, ReadOptionFlag options);
protected abstract Result WriteImpl(long offset, ReadOnlySpan<byte> source, WriteOption options); protected abstract Result WriteImpl(long offset, ReadOnlySpan<byte> source, WriteOptionFlag options);
protected abstract Result FlushImpl(); protected abstract Result FlushImpl();
protected abstract Result SetSizeImpl(long size); protected abstract Result SetSizeImpl(long size);
protected abstract Result GetSizeImpl(out long size); protected abstract Result GetSizeImpl(out long size);
@ -21,7 +21,7 @@ namespace LibHac.Fs
return ResultFs.NotImplemented.Log(); return ResultFs.NotImplemented.Log();
} }
public Result Read(out long bytesRead, long offset, Span<byte> destination, ReadOption options) public Result Read(out long bytesRead, long offset, Span<byte> destination, ReadOptionFlag options)
{ {
bytesRead = default; bytesRead = default;
@ -34,13 +34,13 @@ namespace LibHac.Fs
return ReadImpl(out bytesRead, offset, destination, options); return ReadImpl(out bytesRead, offset, destination, options);
} }
public Result Write(long offset, ReadOnlySpan<byte> source, WriteOption options) public Result Write(long offset, ReadOnlySpan<byte> source, WriteOptionFlag options)
{ {
if (IsDisposed) return ResultFs.PreconditionViolation.Log(); if (IsDisposed) return ResultFs.PreconditionViolation.Log();
if (source.Length == 0) if (source.Length == 0)
{ {
if (options.HasFlag(WriteOption.Flush)) if (options.HasFlag(WriteOptionFlag.Flush))
{ {
return FlushImpl(); return FlushImpl();
} }

View File

@ -50,7 +50,7 @@ namespace LibHac.Fs
if (!IsRangeValid(offset, destination.Length, FileSize)) if (!IsRangeValid(offset, destination.Length, FileSize))
return ResultFs.OutOfRange.Log(); return ResultFs.OutOfRange.Log();
return BaseFile.Read(out _, offset, destination, ReadOption.None); return BaseFile.Read(out _, offset, destination, ReadOptionFlag.None);
} }
protected override Result WriteImpl(long offset, ReadOnlySpan<byte> source) protected override Result WriteImpl(long offset, ReadOnlySpan<byte> source)
@ -64,7 +64,7 @@ namespace LibHac.Fs
if (!IsRangeValid(offset, source.Length, FileSize)) if (!IsRangeValid(offset, source.Length, FileSize))
return ResultFs.OutOfRange.Log(); return ResultFs.OutOfRange.Log();
return BaseFile.Write(offset, source, WriteOption.None); return BaseFile.Write(offset, source, WriteOptionFlag.None);
} }
protected override Result FlushImpl() protected override Result FlushImpl()

View File

@ -6,10 +6,10 @@ namespace LibHac.Fs
{ {
public Result ReadFile(FileHandle handle, long offset, Span<byte> destination) public Result ReadFile(FileHandle handle, long offset, Span<byte> destination)
{ {
return ReadFile(handle, offset, destination, ReadOption.None); return ReadFile(handle, offset, destination, ReadOptionFlag.None);
} }
public Result ReadFile(FileHandle handle, long offset, Span<byte> destination, ReadOption option) public Result ReadFile(FileHandle handle, long offset, Span<byte> destination, ReadOptionFlag option)
{ {
Result rc = ReadFile(out long bytesRead, handle, offset, destination, option); Result rc = ReadFile(out long bytesRead, handle, offset, destination, option);
if (rc.IsFailure()) return rc; if (rc.IsFailure()) return rc;
@ -21,10 +21,10 @@ namespace LibHac.Fs
public Result ReadFile(out long bytesRead, FileHandle handle, long offset, Span<byte> destination) public Result ReadFile(out long bytesRead, FileHandle handle, long offset, Span<byte> destination)
{ {
return ReadFile(out bytesRead, handle, offset, destination, ReadOption.None); return ReadFile(out bytesRead, handle, offset, destination, ReadOptionFlag.None);
} }
public Result ReadFile(out long bytesRead, FileHandle handle, long offset, Span<byte> destination, ReadOption option) public Result ReadFile(out long bytesRead, FileHandle handle, long offset, Span<byte> destination, ReadOptionFlag option)
{ {
Result rc; Result rc;
@ -46,10 +46,10 @@ namespace LibHac.Fs
public Result WriteFile(FileHandle handle, long offset, ReadOnlySpan<byte> source) public Result WriteFile(FileHandle handle, long offset, ReadOnlySpan<byte> source)
{ {
return WriteFile(handle, offset, source, WriteOption.None); return WriteFile(handle, offset, source, WriteOptionFlag.None);
} }
public Result WriteFile(FileHandle handle, long offset, ReadOnlySpan<byte> source, WriteOption option) public Result WriteFile(FileHandle handle, long offset, ReadOnlySpan<byte> source, WriteOptionFlag option)
{ {
Result rc; Result rc;
@ -59,7 +59,7 @@ namespace LibHac.Fs
rc = handle.File.Write(offset, source, option); rc = handle.File.Write(offset, source, option);
TimeSpan endTime = Time.GetCurrent(); TimeSpan endTime = Time.GetCurrent();
string optionString = (option & WriteOption.Flush) == 0 ? "" : $", write_option: {option}"; string optionString = (option & WriteOptionFlag.Flush) == 0 ? "" : $", write_option: {option}";
OutputAccessLog(rc, startTime, endTime, handle, $", offset: {offset}, size: {source.Length}{optionString}"); OutputAccessLog(rc, startTime, endTime, handle, $", offset: {offset}, size: {source.Length}{optionString}");
} }

View File

@ -127,13 +127,13 @@ namespace LibHac.Fs
} }
[Flags] [Flags]
public enum ReadOption public enum ReadOptionFlag
{ {
None = 0 None = 0
} }
[Flags] [Flags]
public enum WriteOption public enum WriteOptionFlag
{ {
None = 0, None = 0,
Flush = 1 Flush = 1

View File

@ -28,7 +28,7 @@ namespace LibHac.Fs
/// The number of bytes read will be no larger than the length of the buffer.</param> /// The number of bytes read will be no larger than the length of the buffer.</param>
/// <param name="options">Options for reading from the <see cref="IFile"/>.</param> /// <param name="options">Options for reading from the <see cref="IFile"/>.</param>
/// <returns>The <see cref="Result"/> of the requested operation.</returns> /// <returns>The <see cref="Result"/> of the requested operation.</returns>
Result Read(out long bytesRead, long offset, Span<byte> destination, ReadOption options); Result Read(out long bytesRead, long offset, Span<byte> destination, ReadOptionFlag options);
/// <summary> /// <summary>
/// Writes a sequence of bytes to the current <see cref="IFile"/>. /// Writes a sequence of bytes to the current <see cref="IFile"/>.
@ -37,7 +37,7 @@ namespace LibHac.Fs
/// <param name="source">The buffer containing the bytes to be written.</param> /// <param name="source">The buffer containing the bytes to be written.</param>
/// <param name="options">Options for writing to the <see cref="IFile"/>.</param> /// <param name="options">Options for writing to the <see cref="IFile"/>.</param>
/// <returns>The <see cref="Result"/> of the requested operation.</returns> /// <returns>The <see cref="Result"/> of the requested operation.</returns>
Result Write(long offset, ReadOnlySpan<byte> source, WriteOption options); Result Write(long offset, ReadOnlySpan<byte> source, WriteOptionFlag options);
/// <summary> /// <summary>
/// Causes any buffered data to be written to the underlying device. /// Causes any buffered data to be written to the underlying device.

View File

@ -180,7 +180,7 @@ namespace LibHac.Fs
Mode = mode; Mode = mode;
} }
protected override Result ReadImpl(out long bytesRead, long offset, Span<byte> destination, ReadOption options) protected override Result ReadImpl(out long bytesRead, long offset, Span<byte> destination, ReadOptionFlag options)
{ {
if (!Mode.HasFlag(OpenMode.Read)) if (!Mode.HasFlag(OpenMode.Read))
{ {
@ -191,7 +191,7 @@ namespace LibHac.Fs
return BaseStream.Read(out bytesRead, offset, destination); return BaseStream.Read(out bytesRead, offset, destination);
} }
protected override Result WriteImpl(long offset, ReadOnlySpan<byte> source, WriteOption options) protected override Result WriteImpl(long offset, ReadOnlySpan<byte> source, WriteOptionFlag options)
{ {
if (!Mode.HasFlag(OpenMode.Write)) if (!Mode.HasFlag(OpenMode.Write))
{ {

View File

@ -379,7 +379,7 @@ namespace LibHac.FsService
ReadOnlySpan<byte> metaFileData = stackalloc byte[0x20]; ReadOnlySpan<byte> metaFileData = stackalloc byte[0x20];
rc = metaFile.Write(0, metaFileData, WriteOption.Flush); rc = metaFile.Write(0, metaFileData, WriteOptionFlag.Flush);
if (rc.IsFailure()) return rc; if (rc.IsFailure()) return rc;
} }
} }

View File

@ -207,7 +207,7 @@ namespace LibHac.FsService.Impl
_context.CommitCount = commitCount; _context.CommitCount = commitCount;
// Write the initial context to the file // Write the initial context to the file
rc = contextFile.Write(0, SpanHelpers.AsByteSpan(ref _context), WriteOption.None); rc = contextFile.Write(0, SpanHelpers.AsByteSpan(ref _context), WriteOptionFlag.None);
if (rc.IsFailure()) return rc; if (rc.IsFailure()) return rc;
rc = contextFile.Flush(); rc = contextFile.Flush();
@ -232,7 +232,7 @@ namespace LibHac.FsService.Impl
_context.State = CommitState.ProvisionallyCommitted; _context.State = CommitState.ProvisionallyCommitted;
rc = contextFile.Write(0, SpanHelpers.AsByteSpan(ref _context), WriteOption.None); rc = contextFile.Write(0, SpanHelpers.AsByteSpan(ref _context), WriteOptionFlag.None);
if (rc.IsFailure()) return rc; if (rc.IsFailure()) return rc;
rc = contextFile.Flush(); rc = contextFile.Flush();

View File

@ -86,7 +86,7 @@ namespace LibHac.FsService
{ {
ulong lastId = LastPublishedId; ulong lastId = LastPublishedId;
rc = FsClient.WriteFile(handle, 0, SpanHelpers.AsByteSpan(ref lastId), WriteOption.None); rc = FsClient.WriteFile(handle, 0, SpanHelpers.AsByteSpan(ref lastId), WriteOptionFlag.None);
if (rc.IsFailure()) return rc; if (rc.IsFailure()) return rc;
rc = FsClient.FlushFile(handle); rc = FsClient.FlushFile(handle);

View File

@ -73,10 +73,10 @@ namespace LibHac.FsSystem
long fileSize = 0; long fileSize = 0;
long bytesRead; long bytesRead;
file.Read(out bytesRead, magicOffset, SpanHelpers.AsByteSpan(ref magic), ReadOption.None); file.Read(out bytesRead, magicOffset, SpanHelpers.AsByteSpan(ref magic), ReadOptionFlag.None);
if (bytesRead != sizeof(uint) || magic != AesXtsFileHeader.AesXtsFileMagic) return 0; if (bytesRead != sizeof(uint) || magic != AesXtsFileHeader.AesXtsFileMagic) return 0;
file.Read(out bytesRead, fileSizeOffset, SpanHelpers.AsByteSpan(ref fileSize), ReadOption.None); file.Read(out bytesRead, fileSizeOffset, SpanHelpers.AsByteSpan(ref fileSize), ReadOptionFlag.None);
if (bytesRead != sizeof(long) || magic != AesXtsFileHeader.AesXtsFileMagic) return 0; if (bytesRead != sizeof(long) || magic != AesXtsFileHeader.AesXtsFileMagic) return 0;
return fileSize; return fileSize;

View File

@ -54,7 +54,7 @@ namespace LibHac.FsSystem
return key; return key;
} }
protected override Result ReadImpl(out long bytesRead, long offset, Span<byte> destination, ReadOption options) protected override Result ReadImpl(out long bytesRead, long offset, Span<byte> destination, ReadOptionFlag options)
{ {
bytesRead = default; bytesRead = default;
@ -68,7 +68,7 @@ namespace LibHac.FsSystem
return Result.Success; return Result.Success;
} }
protected override Result WriteImpl(long offset, ReadOnlySpan<byte> source, WriteOption options) protected override Result WriteImpl(long offset, ReadOnlySpan<byte> source, WriteOptionFlag options)
{ {
Result rc = ValidateWriteParams(offset, source.Length, Mode, out bool isResizeNeeded); Result rc = ValidateWriteParams(offset, source.Length, Mode, out bool isResizeNeeded);
if (rc.IsFailure()) return rc; if (rc.IsFailure()) return rc;
@ -82,7 +82,7 @@ namespace LibHac.FsSystem
rc = BaseStorage.Write(offset, source); rc = BaseStorage.Write(offset, source);
if (rc.IsFailure()) return rc; if (rc.IsFailure()) return rc;
if ((options & WriteOption.Flush) != 0) if ((options & WriteOptionFlag.Flush) != 0)
{ {
return Flush(); return Flush();
} }

View File

@ -276,7 +276,7 @@ namespace LibHac.FsSystem
using (file) using (file)
{ {
file.Write(0, header.ToBytes(false), WriteOption.Flush).ThrowIfFailure(); file.Write(0, header.ToBytes(false), WriteOptionFlag.Flush).ThrowIfFailure();
} }
} }
} }

View File

@ -34,7 +34,7 @@ namespace LibHac.FsSystem
} }
} }
protected override Result ReadImpl(out long bytesRead, long offset, Span<byte> destination, ReadOption options) protected override Result ReadImpl(out long bytesRead, long offset, Span<byte> destination, ReadOptionFlag options)
{ {
bytesRead = default; bytesRead = default;
@ -70,7 +70,7 @@ namespace LibHac.FsSystem
return Result.Success; return Result.Success;
} }
protected override Result WriteImpl(long offset, ReadOnlySpan<byte> source, WriteOption options) protected override Result WriteImpl(long offset, ReadOnlySpan<byte> source, WriteOptionFlag options)
{ {
Result rc = ValidateWriteParams(offset, source.Length, Mode, out _); Result rc = ValidateWriteParams(offset, source.Length, Mode, out _);
if (rc.IsFailure()) return rc; if (rc.IsFailure()) return rc;
@ -99,7 +99,7 @@ namespace LibHac.FsSystem
remaining -= bytesToWrite; remaining -= bytesToWrite;
} }
if (options.HasFlag(WriteOption.Flush)) if (options.HasFlag(WriteOptionFlag.Flush))
{ {
return Flush(); return Flush();
} }

View File

@ -16,12 +16,12 @@ namespace LibHac.FsSystem
Mode = mode; Mode = mode;
} }
protected override Result ReadImpl(out long bytesRead, long offset, Span<byte> destination, ReadOption options) protected override Result ReadImpl(out long bytesRead, long offset, Span<byte> destination, ReadOptionFlag options)
{ {
return BaseFile.Read(out bytesRead, offset, destination, options); return BaseFile.Read(out bytesRead, offset, destination, options);
} }
protected override Result WriteImpl(long offset, ReadOnlySpan<byte> source, WriteOption options) protected override Result WriteImpl(long offset, ReadOnlySpan<byte> source, WriteOptionFlag options)
{ {
return BaseFile.Write(offset, source, options); return BaseFile.Write(offset, source, options);
} }

View File

@ -61,10 +61,10 @@ namespace LibHac.FsSystem
while (offset < fileSize) while (offset < fileSize)
{ {
rc = srcFile.Read(out long bytesRead, offset, copyBuffer, ReadOption.None); rc = srcFile.Read(out long bytesRead, offset, copyBuffer, ReadOptionFlag.None);
if (rc.IsFailure()) return rc; if (rc.IsFailure()) return rc;
rc = dstFile.Write(offset, copyBuffer.Slice(0, (int)bytesRead), WriteOption.None); rc = dstFile.Write(offset, copyBuffer.Slice(0, (int)bytesRead), WriteOptionFlag.None);
if (rc.IsFailure()) return rc; if (rc.IsFailure()) return rc;
offset += bytesRead; offset += bytesRead;

View File

@ -224,12 +224,12 @@ namespace LibHac.FsSystem
public static Result Read(this IFile file, out long bytesRead, long offset, Span<byte> destination) public static Result Read(this IFile file, out long bytesRead, long offset, Span<byte> destination)
{ {
return file.Read(out bytesRead, offset, destination, ReadOption.None); return file.Read(out bytesRead, offset, destination, ReadOptionFlag.None);
} }
public static Result Write(this IFile file, long offset, ReadOnlySpan<byte> source) public static Result Write(this IFile file, long offset, ReadOnlySpan<byte> source)
{ {
return file.Write(offset, source, WriteOption.None); return file.Write(offset, source, WriteOptionFlag.None);
} }
public static bool DirectoryExists(this IFileSystem fs, string path) public static bool DirectoryExists(this IFileSystem fs, string path)

View File

@ -27,7 +27,7 @@ namespace LibHac.FsSystem
File = new StreamFile(Stream, mode); File = new StreamFile(Stream, mode);
} }
protected override Result ReadImpl(out long bytesRead, long offset, Span<byte> destination, ReadOption options) protected override Result ReadImpl(out long bytesRead, long offset, Span<byte> destination, ReadOptionFlag options)
{ {
bytesRead = 0; bytesRead = 0;
@ -37,7 +37,7 @@ namespace LibHac.FsSystem
return File.Read(out bytesRead, offset, destination.Slice(0, (int)toRead), options); return File.Read(out bytesRead, offset, destination.Slice(0, (int)toRead), options);
} }
protected override Result WriteImpl(long offset, ReadOnlySpan<byte> source, WriteOption options) protected override Result WriteImpl(long offset, ReadOnlySpan<byte> source, WriteOptionFlag options)
{ {
Result rc = ValidateWriteParams(offset, source.Length, Mode, out _); Result rc = ValidateWriteParams(offset, source.Length, Mode, out _);
if (rc.IsFailure()) return rc; if (rc.IsFailure()) return rc;

View File

@ -16,7 +16,7 @@ namespace LibHac.FsSystem
private long Length { get; } private long Length { get; }
protected override Result ReadImpl(out long bytesRead, long offset, Span<byte> destination, ReadOption options) protected override Result ReadImpl(out long bytesRead, long offset, Span<byte> destination, ReadOptionFlag options)
{ {
bytesRead = 0; bytesRead = 0;
@ -29,7 +29,7 @@ namespace LibHac.FsSystem
return Result.Success; return Result.Success;
} }
protected override Result WriteImpl(long offset, ReadOnlySpan<byte> source, WriteOption options) protected override Result WriteImpl(long offset, ReadOnlySpan<byte> source, WriteOptionFlag options)
{ {
return Result.Success; return Result.Success;
} }

View File

@ -18,7 +18,7 @@ namespace LibHac.FsSystem
Size = size; Size = size;
} }
protected override Result ReadImpl(out long bytesRead, long offset, Span<byte> destination, ReadOption options) protected override Result ReadImpl(out long bytesRead, long offset, Span<byte> destination, ReadOptionFlag options)
{ {
bytesRead = 0; bytesRead = 0;
@ -32,7 +32,7 @@ namespace LibHac.FsSystem
return Result.Success; return Result.Success;
} }
protected override Result WriteImpl(long offset, ReadOnlySpan<byte> source, WriteOption options) protected override Result WriteImpl(long offset, ReadOnlySpan<byte> source, WriteOptionFlag options)
{ {
Result rc = ValidateWriteParams(offset, source.Length, Mode, out bool isResizeNeeded); Result rc = ValidateWriteParams(offset, source.Length, Mode, out bool isResizeNeeded);
if (rc.IsFailure()) return rc; if (rc.IsFailure()) return rc;
@ -45,7 +45,7 @@ namespace LibHac.FsSystem
if (rc.IsFailure()) return rc; if (rc.IsFailure()) return rc;
// N doesn't flush if the flag is set // N doesn't flush if the flag is set
if (options.HasFlag(WriteOption.Flush)) if (options.HasFlag(WriteOptionFlag.Flush))
{ {
return BaseStorage.Flush(); return BaseStorage.Flush();
} }

View File

@ -123,7 +123,7 @@ namespace LibHac.FsSystem
Mode = mode; Mode = mode;
} }
protected override Result ReadImpl(out long bytesRead, long offset, Span<byte> destination, ReadOption options) protected override Result ReadImpl(out long bytesRead, long offset, Span<byte> destination, ReadOptionFlag options)
{ {
bytesRead = default; bytesRead = default;
@ -240,7 +240,7 @@ namespace LibHac.FsSystem
return rc; return rc;
} }
protected override Result WriteImpl(long offset, ReadOnlySpan<byte> source, WriteOption options) protected override Result WriteImpl(long offset, ReadOnlySpan<byte> source, WriteOptionFlag options)
{ {
Result rc = ValidateWriteParams(offset, source.Length, Mode, out bool isResizeNeeded); Result rc = ValidateWriteParams(offset, source.Length, Mode, out bool isResizeNeeded);
if (rc.IsFailure()) return rc; if (rc.IsFailure()) return rc;

View File

@ -12,7 +12,7 @@ namespace LibHac.FsSystem
BaseFile = baseFile; BaseFile = baseFile;
} }
protected override Result ReadImpl(out long bytesRead, long offset, Span<byte> destination, ReadOption options) protected override Result ReadImpl(out long bytesRead, long offset, Span<byte> destination, ReadOptionFlag options)
{ {
return BaseFile.Read(out bytesRead, offset, destination, options); return BaseFile.Read(out bytesRead, offset, destination, options);
} }
@ -27,7 +27,7 @@ namespace LibHac.FsSystem
return Result.Success; return Result.Success;
} }
protected override Result WriteImpl(long offset, ReadOnlySpan<byte> source, WriteOption options) protected override Result WriteImpl(long offset, ReadOnlySpan<byte> source, WriteOptionFlag options)
{ {
return ResultFs.InvalidOpenModeForWrite.Log(); return ResultFs.InvalidOpenModeForWrite.Log();
} }

View File

@ -16,7 +16,7 @@ namespace LibHac.FsSystem.RomFs
Size = size; Size = size;
} }
protected override Result ReadImpl(out long bytesRead, long offset, Span<byte> destination, ReadOption options) protected override Result ReadImpl(out long bytesRead, long offset, Span<byte> destination, ReadOptionFlag options)
{ {
bytesRead = default; bytesRead = default;
@ -33,7 +33,7 @@ namespace LibHac.FsSystem.RomFs
return Result.Success; return Result.Success;
} }
protected override Result WriteImpl(long offset, ReadOnlySpan<byte> source, WriteOption options) protected override Result WriteImpl(long offset, ReadOnlySpan<byte> source, WriteOptionFlag options)
{ {
return ResultFs.UnsupportedOperationModifyRomFsFile.Log(); return ResultFs.UnsupportedOperationModifyRomFsFile.Log();
} }

View File

@ -22,7 +22,7 @@ namespace LibHac.FsSystem.Save
Size = size; Size = size;
} }
protected override Result ReadImpl(out long bytesRead, long offset, Span<byte> destination, ReadOption options) protected override Result ReadImpl(out long bytesRead, long offset, Span<byte> destination, ReadOptionFlag options)
{ {
bytesRead = default; bytesRead = default;
@ -42,7 +42,7 @@ namespace LibHac.FsSystem.Save
return Result.Success; return Result.Success;
} }
protected override Result WriteImpl(long offset, ReadOnlySpan<byte> source, WriteOption options) protected override Result WriteImpl(long offset, ReadOnlySpan<byte> source, WriteOptionFlag options)
{ {
Result rc = ValidateWriteParams(offset, source.Length, Mode, out bool isResizeNeeded); Result rc = ValidateWriteParams(offset, source.Length, Mode, out bool isResizeNeeded);
if (rc.IsFailure()) return rc; if (rc.IsFailure()) return rc;
@ -55,7 +55,7 @@ namespace LibHac.FsSystem.Save
BaseStorage.Write(offset, source); BaseStorage.Write(offset, source);
if ((options & WriteOption.Flush) != 0) if ((options & WriteOptionFlag.Flush) != 0)
{ {
return Flush(); return Flush();
} }

View File

@ -14,7 +14,7 @@ namespace LibHac.FsSystem
Mode = mode; Mode = mode;
} }
protected override Result ReadImpl(out long bytesRead, long offset, Span<byte> destination, ReadOption options) protected override Result ReadImpl(out long bytesRead, long offset, Span<byte> destination, ReadOptionFlag options)
{ {
bytesRead = default; bytesRead = default;
@ -34,7 +34,7 @@ namespace LibHac.FsSystem
return Result.Success; return Result.Success;
} }
protected override Result WriteImpl(long offset, ReadOnlySpan<byte> source, WriteOption options) protected override Result WriteImpl(long offset, ReadOnlySpan<byte> source, WriteOptionFlag options)
{ {
Result rc = ValidateWriteParams(offset, source.Length, Mode, out bool isResizeNeeded); Result rc = ValidateWriteParams(offset, source.Length, Mode, out bool isResizeNeeded);
if (rc.IsFailure()) return rc; if (rc.IsFailure()) return rc;
@ -48,7 +48,7 @@ namespace LibHac.FsSystem
rc = BaseStorage.Write(offset, source); rc = BaseStorage.Write(offset, source);
if (rc.IsFailure()) return rc; if (rc.IsFailure()) return rc;
if (options.HasFlag(WriteOption.Flush)) if (options.HasFlag(WriteOptionFlag.Flush))
{ {
return Flush(); return Flush();
} }

View File

@ -21,7 +21,7 @@ namespace LibHac.FsSystem
Mode = mode; Mode = mode;
} }
protected override Result ReadImpl(out long bytesRead, long offset, Span<byte> destination, ReadOption options) protected override Result ReadImpl(out long bytesRead, long offset, Span<byte> destination, ReadOptionFlag options)
{ {
bytesRead = default; bytesRead = default;
@ -40,7 +40,7 @@ namespace LibHac.FsSystem
} }
} }
protected override Result WriteImpl(long offset, ReadOnlySpan<byte> source, WriteOption options) protected override Result WriteImpl(long offset, ReadOnlySpan<byte> source, WriteOptionFlag options)
{ {
Result rc = ValidateWriteParams(offset, source.Length, Mode, out _); Result rc = ValidateWriteParams(offset, source.Length, Mode, out _);
if (rc.IsFailure()) return rc; if (rc.IsFailure()) return rc;
@ -51,7 +51,7 @@ namespace LibHac.FsSystem
BaseStream.Write(source); BaseStream.Write(source);
} }
if (options.HasFlag(WriteOption.Flush)) if (options.HasFlag(WriteOptionFlag.Flush))
{ {
return Flush(); return Flush();
} }

View File

@ -209,10 +209,10 @@ namespace LibHac.FsSystem
while (remaining > 0) while (remaining > 0)
{ {
rc = sourceFile.Read(out long bytesRead, offset, workBuffer, ReadOption.None); rc = sourceFile.Read(out long bytesRead, offset, workBuffer, ReadOptionFlag.None);
if (rc.IsFailure()) return rc; if (rc.IsFailure()) return rc;
rc = destFile.Write(offset, workBuffer.Slice(0, (int)bytesRead), WriteOption.None); rc = destFile.Write(offset, workBuffer.Slice(0, (int)bytesRead), WriteOptionFlag.None);
if (rc.IsFailure()) return rc; if (rc.IsFailure()) return rc;
remaining -= bytesRead; remaining -= bytesRead;

View File

@ -190,7 +190,7 @@ namespace LibHac.Kvdb
rc = FsClient.OpenFile(out FileHandle handle, FileName, OpenMode.Write); rc = FsClient.OpenFile(out FileHandle handle, FileName, OpenMode.Write);
if (rc.IsFailure()) return rc; if (rc.IsFailure()) return rc;
rc = FsClient.WriteFile(handle, 0, data, WriteOption.Flush); rc = FsClient.WriteFile(handle, 0, data, WriteOptionFlag.Flush);
FsClient.CloseFile(handle); FsClient.CloseFile(handle);
return rc; return rc;

View File

@ -13,7 +13,7 @@ namespace LibHac.Loader
public Result Initialize(IFile nsoFile) public Result Initialize(IFile nsoFile)
{ {
Result rc = nsoFile.Read(out long bytesRead, 0, SpanHelpers.AsByteSpan(ref Header), ReadOption.None); Result rc = nsoFile.Read(out long bytesRead, 0, SpanHelpers.AsByteSpan(ref Header), ReadOptionFlag.None);
if (rc.IsFailure()) return rc; if (rc.IsFailure()) return rc;
if (bytesRead != Unsafe.SizeOf<NsoHeader>()) if (bytesRead != Unsafe.SizeOf<NsoHeader>())
@ -69,7 +69,7 @@ namespace LibHac.Loader
// Load data from file. // Load data from file.
uint loadAddress = isCompressed ? (uint)buffer.Length - fileSize : 0; uint loadAddress = isCompressed ? (uint)buffer.Length - fileSize : 0;
Result rc = NsoFile.Read(out long bytesRead, segment.FileOffset, buffer.Slice((int)loadAddress), ReadOption.None); Result rc = NsoFile.Read(out long bytesRead, segment.FileOffset, buffer.Slice((int)loadAddress), ReadOptionFlag.None);
if (rc.IsFailure()) return rc; if (rc.IsFailure()) return rc;
if (bytesRead != fileSize) if (bytesRead != fileSize)

View File

@ -26,8 +26,8 @@ namespace LibHac.Tests.Fs.IFileSystemTestBase
fs.OpenFile(out IFile file1, "/dir1/file".ToU8Span(), OpenMode.Write).ThrowIfFailure(); fs.OpenFile(out IFile file1, "/dir1/file".ToU8Span(), OpenMode.Write).ThrowIfFailure();
fs.OpenFile(out IFile file2, "/dir2/file".ToU8Span(), OpenMode.Write).ThrowIfFailure(); fs.OpenFile(out IFile file2, "/dir2/file".ToU8Span(), OpenMode.Write).ThrowIfFailure();
file1.Write(0, data1, WriteOption.Flush).ThrowIfFailure(); file1.Write(0, data1, WriteOptionFlag.Flush).ThrowIfFailure();
file2.Write(0, data2, WriteOption.Flush).ThrowIfFailure(); file2.Write(0, data2, WriteOptionFlag.Flush).ThrowIfFailure();
file1.Dispose(); file1.Dispose();
file2.Dispose(); file2.Dispose();
@ -45,7 +45,7 @@ namespace LibHac.Tests.Fs.IFileSystemTestBase
using (file1) using (file1)
{ {
Assert.Success(file1.Read(out long bytesRead, 0, readData1, ReadOption.None)); Assert.Success(file1.Read(out long bytesRead, 0, readData1, ReadOptionFlag.None));
Assert.Equal(data1.Length, bytesRead); Assert.Equal(data1.Length, bytesRead);
} }
@ -55,7 +55,7 @@ namespace LibHac.Tests.Fs.IFileSystemTestBase
using (file2) using (file2)
{ {
Assert.Success(file2.Read(out long bytesRead, 0, readData2, ReadOption.None)); Assert.Success(file2.Read(out long bytesRead, 0, readData2, ReadOptionFlag.None));
Assert.Equal(data2.Length, bytesRead); Assert.Equal(data2.Length, bytesRead);
} }
@ -110,7 +110,7 @@ namespace LibHac.Tests.Fs.IFileSystemTestBase
fs.CreateFile("/dir/file".ToU8Span(), data1.Length, CreateFileOptions.None).ThrowIfFailure(); fs.CreateFile("/dir/file".ToU8Span(), data1.Length, CreateFileOptions.None).ThrowIfFailure();
fs.OpenFile(out IFile file, "/dir/file".ToU8Span(), OpenMode.Write).ThrowIfFailure(); fs.OpenFile(out IFile file, "/dir/file".ToU8Span(), OpenMode.Write).ThrowIfFailure();
file.Write(0, data1, WriteOption.Flush).ThrowIfFailure(); file.Write(0, data1, WriteOptionFlag.Flush).ThrowIfFailure();
file.Dispose(); file.Dispose();
// Commit and reopen the file system // Commit and reopen the file system
@ -121,7 +121,7 @@ namespace LibHac.Tests.Fs.IFileSystemTestBase
// Make changes to the file // Make changes to the file
fs.OpenFile(out file, "/dir/file".ToU8Span(), OpenMode.Write).ThrowIfFailure(); fs.OpenFile(out file, "/dir/file".ToU8Span(), OpenMode.Write).ThrowIfFailure();
file.Write(0, data2, WriteOption.Flush).ThrowIfFailure(); file.Write(0, data2, WriteOptionFlag.Flush).ThrowIfFailure();
file.Dispose(); file.Dispose();
Assert.Success(fs.Rollback()); Assert.Success(fs.Rollback());
@ -133,7 +133,7 @@ namespace LibHac.Tests.Fs.IFileSystemTestBase
using (file) using (file)
{ {
Assert.Success(file.Read(out long bytesRead, 0, readData, ReadOption.None)); Assert.Success(file.Read(out long bytesRead, 0, readData, ReadOptionFlag.None));
Assert.Equal(data1.Length, bytesRead); Assert.Equal(data1.Length, bytesRead);
} }

View File

@ -18,7 +18,7 @@ namespace LibHac.Tests.Fs.IFileSystemTestBase
fs.OpenFile(out IFile file, "/file".ToU8Span(), OpenMode.Read); fs.OpenFile(out IFile file, "/file".ToU8Span(), OpenMode.Read);
using (file) using (file)
{ {
Assert.True(file.Read(out long bytesRead, 50, buffer, ReadOption.None).IsSuccess()); Assert.True(file.Read(out long bytesRead, 50, buffer, ReadOptionFlag.None).IsSuccess());
Assert.Equal(20, bytesRead); Assert.Equal(20, bytesRead);
} }
} }
@ -34,7 +34,7 @@ namespace LibHac.Tests.Fs.IFileSystemTestBase
fs.OpenFile(out IFile file, "/file".ToU8Span(), OpenMode.Read); fs.OpenFile(out IFile file, "/file".ToU8Span(), OpenMode.Read);
using (file) using (file)
{ {
Result rc = file.Read(out _, 1, buffer, ReadOption.None); Result rc = file.Read(out _, 1, buffer, ReadOptionFlag.None);
Assert.Equal(ResultFs.OutOfRange.Value, rc); Assert.Equal(ResultFs.OutOfRange.Value, rc);
} }
} }
@ -50,7 +50,7 @@ namespace LibHac.Tests.Fs.IFileSystemTestBase
fs.OpenFile(out IFile file, "/file".ToU8Span(), OpenMode.Write); fs.OpenFile(out IFile file, "/file".ToU8Span(), OpenMode.Write);
using (file) using (file)
{ {
Result rc = file.Read(out _, 0, buffer, ReadOption.None); Result rc = file.Read(out _, 0, buffer, ReadOptionFlag.None);
Assert.Equal(ResultFs.InvalidOpenModeForRead.Value, rc); Assert.Equal(ResultFs.InvalidOpenModeForRead.Value, rc);
} }
} }
@ -66,7 +66,7 @@ namespace LibHac.Tests.Fs.IFileSystemTestBase
fs.OpenFile(out IFile file, "/file".ToU8Span(), OpenMode.Write); fs.OpenFile(out IFile file, "/file".ToU8Span(), OpenMode.Write);
using (file) using (file)
{ {
Result rc = file.Read(out _, -5, buffer, ReadOption.None); Result rc = file.Read(out _, -5, buffer, ReadOptionFlag.None);
Assert.Equal(ResultFs.OutOfRange.Value, rc); Assert.Equal(ResultFs.OutOfRange.Value, rc);
} }
} }
@ -82,7 +82,7 @@ namespace LibHac.Tests.Fs.IFileSystemTestBase
fs.OpenFile(out IFile file, "/file".ToU8Span(), OpenMode.Write); fs.OpenFile(out IFile file, "/file".ToU8Span(), OpenMode.Write);
using (file) using (file)
{ {
Result rc = file.Read(out _, long.MaxValue - 5, buffer, ReadOption.None); Result rc = file.Read(out _, long.MaxValue - 5, buffer, ReadOptionFlag.None);
Assert.Equal(ResultFs.OutOfRange.Value, rc); Assert.Equal(ResultFs.OutOfRange.Value, rc);
} }
} }
@ -98,7 +98,7 @@ namespace LibHac.Tests.Fs.IFileSystemTestBase
fs.OpenFile(out IFile file, "/file".ToU8Span(), OpenMode.Read); fs.OpenFile(out IFile file, "/file".ToU8Span(), OpenMode.Read);
using (file) using (file)
{ {
Assert.True(file.Read(out long bytesRead, 90, buffer, ReadOption.None).IsSuccess()); Assert.True(file.Read(out long bytesRead, 90, buffer, ReadOptionFlag.None).IsSuccess());
Assert.Equal(10, bytesRead); Assert.Equal(10, bytesRead);
} }
} }
@ -114,7 +114,7 @@ namespace LibHac.Tests.Fs.IFileSystemTestBase
fs.OpenFile(out IFile file, "/file".ToU8Span(), OpenMode.Write); fs.OpenFile(out IFile file, "/file".ToU8Span(), OpenMode.Write);
using (file) using (file)
{ {
file.Write(0, new byte[100], WriteOption.None); file.Write(0, new byte[100], WriteOptionFlag.None);
} }
var bufferExpected = new byte[200]; var bufferExpected = new byte[200];
@ -126,7 +126,7 @@ namespace LibHac.Tests.Fs.IFileSystemTestBase
fs.OpenFile(out file, "/file".ToU8Span(), OpenMode.Read); fs.OpenFile(out file, "/file".ToU8Span(), OpenMode.Read);
using (file) using (file)
{ {
Assert.True(file.Read(out _, 90, buffer, ReadOption.None).IsSuccess()); Assert.True(file.Read(out _, 90, buffer, ReadOptionFlag.None).IsSuccess());
Assert.Equal(bufferExpected, buffer); Assert.Equal(bufferExpected, buffer);
} }
} }

View File

@ -17,7 +17,7 @@ namespace LibHac.Tests.Fs.IFileSystemTestBase
fs.CreateFile("/file".ToU8Span(), data.Length, CreateFileOptions.None); fs.CreateFile("/file".ToU8Span(), data.Length, CreateFileOptions.None);
fs.OpenFile(out IFile file, "/file".ToU8Span(), OpenMode.Write); fs.OpenFile(out IFile file, "/file".ToU8Span(), OpenMode.Write);
file.Write(0, data, WriteOption.None); file.Write(0, data, WriteOptionFlag.None);
file.Dispose(); file.Dispose();
var readData = new byte[data.Length]; var readData = new byte[data.Length];
@ -25,7 +25,7 @@ namespace LibHac.Tests.Fs.IFileSystemTestBase
fs.OpenFile(out file, "/file".ToU8Span(), OpenMode.Read); fs.OpenFile(out file, "/file".ToU8Span(), OpenMode.Read);
using (file) using (file)
{ {
Assert.True(file.Read(out long bytesRead, 0, readData, ReadOption.None).IsSuccess()); Assert.True(file.Read(out long bytesRead, 0, readData, ReadOptionFlag.None).IsSuccess());
Assert.Equal(data.Length, bytesRead); Assert.Equal(data.Length, bytesRead);
} }
@ -43,7 +43,7 @@ namespace LibHac.Tests.Fs.IFileSystemTestBase
fs.OpenFile(out IFile file, "/file".ToU8Span(), OpenMode.Write); fs.OpenFile(out IFile file, "/file".ToU8Span(), OpenMode.Write);
using (file) using (file)
{ {
Result rc = file.Write(5, buffer, WriteOption.None); Result rc = file.Write(5, buffer, WriteOptionFlag.None);
Assert.Equal(ResultFs.FileExtensionWithoutOpenModeAllowAppend.Value, rc); Assert.Equal(ResultFs.FileExtensionWithoutOpenModeAllowAppend.Value, rc);
} }
} }
@ -59,7 +59,7 @@ namespace LibHac.Tests.Fs.IFileSystemTestBase
fs.OpenFile(out IFile file, "/file".ToU8Span(), OpenMode.Read); fs.OpenFile(out IFile file, "/file".ToU8Span(), OpenMode.Read);
using (file) using (file)
{ {
Result rc = file.Write(5, buffer, WriteOption.None); Result rc = file.Write(5, buffer, WriteOptionFlag.None);
Assert.Equal(ResultFs.InvalidOpenModeForWrite.Value, rc); Assert.Equal(ResultFs.InvalidOpenModeForWrite.Value, rc);
} }
} }
@ -75,7 +75,7 @@ namespace LibHac.Tests.Fs.IFileSystemTestBase
fs.OpenFile(out IFile file, "/file".ToU8Span(), OpenMode.Read); fs.OpenFile(out IFile file, "/file".ToU8Span(), OpenMode.Read);
using (file) using (file)
{ {
Result rc = file.Write(-5, buffer, WriteOption.None); Result rc = file.Write(-5, buffer, WriteOptionFlag.None);
Assert.Equal(ResultFs.OutOfRange.Value, rc); Assert.Equal(ResultFs.OutOfRange.Value, rc);
} }
} }
@ -91,7 +91,7 @@ namespace LibHac.Tests.Fs.IFileSystemTestBase
fs.OpenFile(out IFile file, "/file".ToU8Span(), OpenMode.Read); fs.OpenFile(out IFile file, "/file".ToU8Span(), OpenMode.Read);
using (file) using (file)
{ {
Result rc = file.Write(long.MaxValue - 5, buffer, WriteOption.None); Result rc = file.Write(long.MaxValue - 5, buffer, WriteOptionFlag.None);
Assert.Equal(ResultFs.OutOfRange.Value, rc); Assert.Equal(ResultFs.OutOfRange.Value, rc);
} }
} }
@ -107,7 +107,7 @@ namespace LibHac.Tests.Fs.IFileSystemTestBase
fs.OpenFile(out IFile file, "/file".ToU8Span(), OpenMode.All); fs.OpenFile(out IFile file, "/file".ToU8Span(), OpenMode.All);
using (file) using (file)
{ {
Assert.True(file.Write(5, buffer, WriteOption.None).IsSuccess()); Assert.True(file.Write(5, buffer, WriteOptionFlag.None).IsSuccess());
file.GetSize(out long newSize); file.GetSize(out long newSize);
Assert.Equal(15, newSize); Assert.Equal(15, newSize);
@ -125,7 +125,7 @@ namespace LibHac.Tests.Fs.IFileSystemTestBase
fs.OpenFile(out IFile file, "/file".ToU8Span(), OpenMode.All); fs.OpenFile(out IFile file, "/file".ToU8Span(), OpenMode.All);
using (file) using (file)
{ {
Assert.True(file.Write(15, buffer, WriteOption.None).IsSuccess()); Assert.True(file.Write(15, buffer, WriteOptionFlag.None).IsSuccess());
file.GetSize(out long newSize); file.GetSize(out long newSize);
Assert.Equal(25, newSize); Assert.Equal(25, newSize);
@ -148,10 +148,10 @@ namespace LibHac.Tests.Fs.IFileSystemTestBase
fs.OpenFile(out IFile file, "/file".ToU8Span(), OpenMode.All); fs.OpenFile(out IFile file, "/file".ToU8Span(), OpenMode.All);
using (file) using (file)
{ {
Assert.True(file.Write(15, writeBuffer, WriteOption.None).IsSuccess()); Assert.True(file.Write(15, writeBuffer, WriteOptionFlag.None).IsSuccess());
// Unwritten portions of new files are undefined, so write to the other portions // Unwritten portions of new files are undefined, so write to the other portions
file.Write(0, new byte[15], WriteOption.None); file.Write(0, new byte[15], WriteOptionFlag.None);
} }
var readBuffer = new byte[25]; var readBuffer = new byte[25];
@ -159,7 +159,7 @@ namespace LibHac.Tests.Fs.IFileSystemTestBase
fs.OpenFile(out file, "/file".ToU8Span(), OpenMode.Read); fs.OpenFile(out file, "/file".ToU8Span(), OpenMode.Read);
using (file) using (file)
{ {
file.Read(out _, 0, readBuffer, ReadOption.None); file.Read(out _, 0, readBuffer, ReadOptionFlag.None);
Assert.Equal(bufferExpected, readBuffer); Assert.Equal(bufferExpected, readBuffer);
} }
} }

View File

@ -98,7 +98,7 @@ namespace LibHac.Tests.Fs.IFileSystemTestBase
fs.CreateFile("/file".ToU8Span(), data.Length, CreateFileOptions.None); fs.CreateFile("/file".ToU8Span(), data.Length, CreateFileOptions.None);
fs.OpenFile(out IFile file, "/file".ToU8Span(), OpenMode.Write); fs.OpenFile(out IFile file, "/file".ToU8Span(), OpenMode.Write);
file.Write(0, data, WriteOption.None); file.Write(0, data, WriteOptionFlag.None);
file.Dispose(); file.Dispose();
fs.RenameFile("/file".ToU8Span(), "/renamed".ToU8Span()); fs.RenameFile("/file".ToU8Span(), "/renamed".ToU8Span());
@ -106,7 +106,7 @@ namespace LibHac.Tests.Fs.IFileSystemTestBase
var readData = new byte[data.Length]; var readData = new byte[data.Length];
fs.OpenFile(out file, "/renamed".ToU8Span(), OpenMode.Read); fs.OpenFile(out file, "/renamed".ToU8Span(), OpenMode.Read);
Result rc = file.Read(out long bytesRead, 0, readData, ReadOption.None); Result rc = file.Read(out long bytesRead, 0, readData, ReadOptionFlag.None);
file.Dispose(); file.Dispose();
Assert.True(rc.IsSuccess()); Assert.True(rc.IsSuccess());