From 2f5d0e6fe94f6af79592dbeaeeaea2ac0ac3c53c Mon Sep 17 00:00:00 2001 From: Claudio Cambra Date: Sat, 28 Jan 2023 17:07:13 +0100 Subject: [PATCH] Set up NextcloudKit account in FileProviderExtension Signed-off-by: Claudio Cambra --- .../FileProviderExt/FileProviderExtension.swift | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/shell_integration/MacOSX/NextcloudIntegration/FileProviderExt/FileProviderExtension.swift b/shell_integration/MacOSX/NextcloudIntegration/FileProviderExt/FileProviderExtension.swift index 257e2976a..363ecfc06 100644 --- a/shell_integration/MacOSX/NextcloudIntegration/FileProviderExt/FileProviderExtension.swift +++ b/shell_integration/MacOSX/NextcloudIntegration/FileProviderExt/FileProviderExtension.swift @@ -17,7 +17,7 @@ import OSLog import NCDesktopClientSocketKit import NextcloudKit -class FileProviderExtension: NSObject, NSFileProviderReplicatedExtension { +class FileProviderExtension: NSObject, NSFileProviderReplicatedExtension, NKCommonDelegate { let domain: NSFileProviderDomain let appGroupIdentifier: String? = Bundle.main.object(forInfoDictionaryKey: "SocketApiPrefix") as? String @@ -70,6 +70,7 @@ class FileProviderExtension: NSObject, NSFileProviderReplicatedExtension { NSLog("Received item request for item with identifier: %@", identifier.rawValue) if identifier == .rootContainer { guard let ncAccount = ncAccount else { + NSLog("Not providing item: %@ as account not set up yet", identifier.rawValue) completionHandler(nil, NSFileProviderError(.notAuthenticated)) return Progress() } @@ -148,6 +149,15 @@ class FileProviderExtension: NSObject, NSFileProviderReplicatedExtension { func setupDomainAccount(user: String, serverUrl: String, password: String) { ncAccount = NextcloudAccount(user: user, serverUrl: serverUrl, password: password) + + NextcloudKit.shared.setup(user: ncAccount!.username, + userId: ncAccount!.username, + password: ncAccount!.password, + urlBase: ncAccount!.serverUrl, + userAgent: "Nextcloud-macOS/FileProviderExt", + nextcloudVersion: 25, + delegate: self) + NSLog("Nextcloud account set up in File Provider extension for user: %@ at server: %@", user, serverUrl) for itemIdObj in itemIdsForEnumeratorsNeedingSignalling { @@ -156,9 +166,10 @@ class FileProviderExtension: NSObject, NSFileProviderReplicatedExtension { continue; } + NSLog("Signalling enumerator for itemIdentifier %@ for user %@ at server %@", itemIdentifier.rawValue, user, serverUrl) NSFileProviderManager(for: domain)?.signalEnumerator(for: itemIdentifier) { error in if error != nil { - NSLog("Error signalling enumerator: %@ for itemIdentifier", error!.localizedDescription, itemIdentifier.rawValue) + NSLog("Error signalling enumerator for itemIdentifier: %@, received error: %@", itemIdentifier.rawValue, error!.localizedDescription) } } } -- 2.39.5