77namespace Files . App . Storage . Storables
88{
99 /// <inheritdoc cref="IFolder"/>
10- public sealed class WindowsStorageFolder : WindowsStorable < StorageFolder > , ILocatableFolder , IFolderExtended , INestedFolder , IDirectCopy , IDirectMove
10+ [ Obsolete ( "Use the new WindowsStorable" ) ]
11+ public sealed class WindowsStorageFolderLegacy : WindowsStorableLegacy < StorageFolder > , ILocatableFolder , IFolderExtended , INestedFolder , IDirectCopy , IDirectMove
1112 {
1213 // TODO: Implement IMutableFolder
1314
14- public WindowsStorageFolder ( StorageFolder storage )
15+ public WindowsStorageFolderLegacy ( StorageFolder storage )
1516 : base ( storage )
1617 {
1718 }
@@ -20,14 +21,14 @@ public WindowsStorageFolder(StorageFolder storage)
2021 public async Task < INestedFile > GetFileAsync ( string fileName , CancellationToken cancellationToken = default )
2122 {
2223 var file = await storage . GetFileAsync ( fileName ) . AsTask ( cancellationToken ) ;
23- return new WindowsStorageFile ( file ) ;
24+ return new WindowsStorageFileLegacy ( file ) ;
2425 }
2526
2627 /// <inheritdoc/>
2728 public async Task < INestedFolder > GetFolderAsync ( string folderName , CancellationToken cancellationToken = default )
2829 {
2930 var folder = await storage . GetFolderAsync ( folderName ) . AsTask ( cancellationToken ) ;
30- return new WindowsStorageFolder ( folder ) ;
31+ return new WindowsStorageFolderLegacy ( folder ) ;
3132 }
3233
3334 /// <inheritdoc/>
@@ -40,7 +41,7 @@ public async IAsyncEnumerable<INestedStorable> GetItemsAsync(StorableKind kind =
4041 var files = await storage . GetFilesAsync ( ) . AsTask ( cancellationToken ) ;
4142 foreach ( var item in files )
4243 {
43- yield return new WindowsStorageFile ( item ) ;
44+ yield return new WindowsStorageFileLegacy ( item ) ;
4445 }
4546
4647 break ;
@@ -51,7 +52,7 @@ public async IAsyncEnumerable<INestedStorable> GetItemsAsync(StorableKind kind =
5152 var folders = await storage . GetFoldersAsync ( ) . AsTask ( cancellationToken ) ;
5253 foreach ( var item in folders )
5354 {
54- yield return new WindowsStorageFolder ( item ) ;
55+ yield return new WindowsStorageFolderLegacy ( item ) ;
5556 }
5657
5758 break ;
@@ -63,10 +64,10 @@ public async IAsyncEnumerable<INestedStorable> GetItemsAsync(StorableKind kind =
6364 foreach ( var item in items )
6465 {
6566 if ( item is StorageFile storageFile )
66- yield return new WindowsStorageFile ( storageFile ) ;
67+ yield return new WindowsStorageFileLegacy ( storageFile ) ;
6768
6869 if ( item is StorageFolder storageFolder )
69- yield return new WindowsStorageFolder ( storageFolder ) ;
70+ yield return new WindowsStorageFolderLegacy ( storageFolder ) ;
7071 }
7172
7273 break ;
@@ -82,11 +83,11 @@ public Task DeleteAsync(INestedStorable item, bool permanently = default, Cancel
8283 {
8384 return item switch
8485 {
85- WindowsStorable < StorageFile > storageFile => storageFile . storage
86+ WindowsStorableLegacy < StorageFile > storageFile => storageFile . storage
8687 . DeleteAsync ( GetWindowsStorageDeleteOption ( permanently ) )
8788 . AsTask ( cancellationToken ) ,
8889
89- WindowsStorable < StorageFolder > storageFolder => storageFolder . storage
90+ WindowsStorableLegacy < StorageFolder > storageFolder => storageFolder . storage
9091 . DeleteAsync ( GetWindowsStorageDeleteOption ( permanently ) )
9192 . AsTask ( cancellationToken ) ,
9293
@@ -97,10 +98,10 @@ public Task DeleteAsync(INestedStorable item, bool permanently = default, Cancel
9798 /// <inheritdoc/>
9899 public async Task < INestedStorable > CreateCopyOfAsync ( INestedStorable itemToCopy , bool overwrite = default , CancellationToken cancellationToken = default )
99100 {
100- if ( itemToCopy is WindowsStorable < StorageFile > sourceFile )
101+ if ( itemToCopy is WindowsStorableLegacy < StorageFile > sourceFile )
101102 {
102103 var copiedFile = await sourceFile . storage . CopyAsync ( storage , itemToCopy . Name , GetWindowsNameCollisionOption ( overwrite ) ) . AsTask ( cancellationToken ) ;
103- return new WindowsStorageFile ( copiedFile ) ;
104+ return new WindowsStorageFileLegacy ( copiedFile ) ;
104105 }
105106
106107 throw new ArgumentException ( $ "Could not copy type { itemToCopy . GetType ( ) } ") ;
@@ -109,10 +110,10 @@ public async Task<INestedStorable> CreateCopyOfAsync(INestedStorable itemToCopy,
109110 /// <inheritdoc/>
110111 public async Task < INestedStorable > MoveFromAsync ( INestedStorable itemToMove , IModifiableFolder source , bool overwrite = default , CancellationToken cancellationToken = default )
111112 {
112- if ( itemToMove is WindowsStorable < StorageFile > sourceFile )
113+ if ( itemToMove is WindowsStorableLegacy < StorageFile > sourceFile )
113114 {
114115 await sourceFile . storage . MoveAsync ( storage , itemToMove . Name , GetWindowsNameCollisionOption ( overwrite ) ) . AsTask ( cancellationToken ) ;
115- return new WindowsStorageFile ( sourceFile . storage ) ;
116+ return new WindowsStorageFileLegacy ( sourceFile . storage ) ;
116117 }
117118
118119 throw new ArgumentException ( $ "Could not copy type { itemToMove . GetType ( ) } ") ;
@@ -122,21 +123,21 @@ public async Task<INestedStorable> MoveFromAsync(INestedStorable itemToMove, IMo
122123 public async Task < INestedFile > CreateFileAsync ( string desiredName , bool overwrite = default , CancellationToken cancellationToken = default )
123124 {
124125 var file = await storage . CreateFileAsync ( desiredName , GetWindowsCreationCollisionOption ( overwrite ) ) . AsTask ( cancellationToken ) ;
125- return new WindowsStorageFile ( file ) ;
126+ return new WindowsStorageFileLegacy ( file ) ;
126127 }
127128
128129 /// <inheritdoc/>
129130 public async Task < INestedFolder > CreateFolderAsync ( string desiredName , bool overwrite = default , CancellationToken cancellationToken = default )
130131 {
131132 var folder = await storage . CreateFolderAsync ( desiredName , GetWindowsCreationCollisionOption ( overwrite ) ) . AsTask ( cancellationToken ) ;
132- return new WindowsStorageFolder ( folder ) ;
133+ return new WindowsStorageFolderLegacy ( folder ) ;
133134 }
134135
135136 /// <inheritdoc/>
136137 public override async Task < IFolder ? > GetParentAsync ( CancellationToken cancellationToken = default )
137138 {
138139 var parentFolder = await storage . GetParentAsync ( ) . AsTask ( cancellationToken ) ;
139- return new WindowsStorageFolder ( parentFolder ) ;
140+ return new WindowsStorageFolderLegacy ( parentFolder ) ;
140141 }
141142
142143 private static StorageDeleteOption GetWindowsStorageDeleteOption ( bool permanently )
0 commit comments