示例#1
0
        protected override void Dispose(bool disposing)
        {
            if (disposing)
            {
                using var scopedLayoutType = new ScopedStorageLayoutTypeSetter(StorageFlag);
                BaseStorage?.Dispose();
            }

            base.Dispose(disposing);
        }
示例#2
0
 protected override Result DoWrite(long offset, ReadOnlySpan <byte> source)
 {
     using var scopedLayoutType = new ScopedStorageLayoutTypeSetter(StorageFlag);
     return(BaseStorage.Target.Write(offset, source));
 }
示例#3
0
 protected override Result DoRead(long offset, Span <byte> destination)
 {
     using var scopedLayoutType = new ScopedStorageLayoutTypeSetter(StorageFlag);
     return(BaseStorage.Target.Read(offset, destination));
 }
示例#4
0
 protected override Result DoRenameDirectory(U8Span oldPath, U8Span newPath)
 {
     using var scopedLayoutType = new ScopedStorageLayoutTypeSetter(StorageFlag);
     return(BaseFileSystem.Target.RenameDirectory(oldPath, newPath));
 }
示例#5
0
 protected override Result DoDeleteFile(U8Span path)
 {
     using var scopedLayoutType = new ScopedStorageLayoutTypeSetter(StorageFlag);
     return(BaseFileSystem.Target.DeleteFile(path));
 }
示例#6
0
 protected override Result DoCleanDirectoryRecursively(U8Span path)
 {
     using var scopedLayoutType = new ScopedStorageLayoutTypeSetter(StorageFlag);
     return(BaseFileSystem.Target.CleanDirectoryRecursively(path));
 }
示例#7
0
 protected override Result DoQueryEntry(Span <byte> outBuffer, ReadOnlySpan <byte> inBuffer, QueryId queryId, U8Span path)
 {
     using var scopedLayoutType = new ScopedStorageLayoutTypeSetter(StorageFlag);
     return(BaseFileSystem.Target.QueryEntry(outBuffer, inBuffer, queryId, path));
 }
示例#8
0
 protected override Result DoGetTotalSpaceSize(out long totalSpace, U8Span path)
 {
     using var scopedLayoutType = new ScopedStorageLayoutTypeSetter(StorageFlag);
     return(BaseFileSystem.Target.GetTotalSpaceSize(out totalSpace, path));
 }
示例#9
0
 protected override Result DoRollback()
 {
     using var scopedLayoutType = new ScopedStorageLayoutTypeSetter(StorageFlag);
     return(BaseFileSystem.Target.Rollback());
 }
示例#10
0
 protected override Result DoGetFileTimeStampRaw(out FileTimeStampRaw timeStamp, U8Span path)
 {
     using var scopedLayoutType = new ScopedStorageLayoutTypeSetter(StorageFlag);
     return(BaseFileSystem.Target.GetFileTimeStampRaw(out timeStamp, path));
 }
示例#11
0
 protected override Result DoCommitProvisionally(long counter)
 {
     using var scopedLayoutType = new ScopedStorageLayoutTypeSetter(StorageFlag);
     return(BaseFileSystem.Target.CommitProvisionally(counter));
 }
示例#12
0
 protected override Result DoOpenDirectory(out IDirectory directory, U8Span path, OpenDirectoryMode mode)
 {
     using var scopedLayoutType = new ScopedStorageLayoutTypeSetter(StorageFlag);
     return(BaseFileSystem.Target.OpenDirectory(out directory, path, mode));
 }
示例#13
0
 protected override Result DoOpenFile(out IFile file, U8Span path, OpenMode mode)
 {
     using var scopedLayoutType = new ScopedStorageLayoutTypeSetter(StorageFlag);
     return(BaseFileSystem.Target.OpenFile(out file, path, mode));
 }
示例#14
0
 protected override Result DoFlush()
 {
     using var scopedLayoutType = new ScopedStorageLayoutTypeSetter(StorageFlag);
     return(BaseStorage.Target.Flush());
 }
示例#15
0
 protected override Result DoCreateFile(U8Span path, long size, CreateFileOptions option)
 {
     using var scopedLayoutType = new ScopedStorageLayoutTypeSetter(StorageFlag);
     return(BaseFileSystem.Target.CreateFile(path, size, option));
 }
示例#16
0
 protected override Result DoGetSize(out long size)
 {
     using var scopedLayoutType = new ScopedStorageLayoutTypeSetter(StorageFlag);
     return(BaseStorage.Target.GetSize(out size));
 }
示例#17
0
 protected override Result DoGetEntryType(out DirectoryEntryType entryType, U8Span path)
 {
     using var scopedLayoutType = new ScopedStorageLayoutTypeSetter(StorageFlag);
     return(BaseFileSystem.Target.GetEntryType(out entryType, path));
 }