nextcloud-desktop/shell_integration/MacOSX/NextcloudIntegration/FileProviderExt/FileProviderExtension+Thumbnailing.swift
Claudio Cambra 49e560b819 feat(shell_integration/macOS/FileProviderExt): Use specific dbManager for thumbnailing
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2025-05-06 09:45:47 +02:00

43 lines
1.3 KiB
Swift

/*
* SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: GPL-2.0-or-later
*/
import FileProvider
import Foundation
import NextcloudKit
import NextcloudFileProviderKit
import OSLog
extension FileProviderExtension: NSFileProviderThumbnailing {
func fetchThumbnails(
for itemIdentifiers: [NSFileProviderItemIdentifier],
requestedSize size: CGSize,
perThumbnailCompletionHandler: @escaping (
NSFileProviderItemIdentifier,
Data?,
Error?
) -> Void,
completionHandler: @escaping (Error?) -> Void
) -> Progress {
guard let ncAccount else {
completionHandler(NSFileProviderError(.notAuthenticated))
return Progress()
}
guard let dbManager else {
completionHandler(NSFileProviderError(.cannotSynchronize))
return Progress()
}
return NextcloudFileProviderKit.fetchThumbnails(
for: itemIdentifiers,
requestedSize: size,
account: ncAccount,
usingRemoteInterface: self.ncKit,
andDatabase: dbManager,
perThumbnailCompletionHandler: perThumbnailCompletionHandler,
completionHandler: completionHandler
)
}
}