Keep track of materialised files in storageuseenumerationobserver

Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
This commit is contained in:
Claudio Cambra 2023-09-28 19:48:54 +08:00
parent 0b8a2315a0
commit c3490db271
No known key found for this signature in database
GPG Key ID: C839200C384636B0
2 changed files with 6 additions and 0 deletions

View File

@ -21,5 +21,6 @@ typedef void(^UsageEnumerationFinishedHandler)(NSError *const error);
@property (readwrite, strong) UsageEnumerationFinishedHandler enumerationFinishedHandler;
@property (readonly) NSUInteger usage;
@property (readonly) NSSet<id<NSFileProviderItem>> *materialisedItems;
@end

View File

@ -29,12 +29,17 @@
// NSFileProviderEnumerationObserver protocol methods
- (void)didEnumerateItems:(NSArray<id<NSFileProviderItem>> *)updatedItems
{
NSMutableSet<id<NSFileProviderItem>> * const existingItems = self.materialisedItems.mutableCopy;
for (const id<NSFileProviderItem> item in updatedItems) {
NSLog(@"StorageUseEnumerationObserver: Enumerating %@ with size %llu",
item.filename, item.documentSize.unsignedLongLongValue);
_usage += item.documentSize.unsignedLongLongValue;
[existingItems addObject:item];
}
_materialisedItems = existingItems.copy;
}
- (void)finishEnumeratingWithError:(NSError *)error