]> dgit.raspbian.org Git - nextcloud-desktop.git/commitdiff
Add readdFileProviderDomain convenience method to fileproviderdomainmanager
authorClaudio Cambra <claudio.cambra@nextcloud.com>
Mon, 13 Mar 2023 15:28:49 +0000 (16:28 +0100)
committerClaudio Cambra <claudio.cambra@nextcloud.com>
Fri, 12 May 2023 05:21:32 +0000 (13:21 +0800)
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
src/gui/macOS/fileproviderdomainmanager_mac.mm

index 33c8f0ef0753e5b3eb12a559136692c9181a403f..4ee11b74dbc77890a674e341d90dfbae66b95710 100644 (file)
@@ -253,6 +253,34 @@ class FileProviderDomainManager::Private {
         }
     }
 
+    void readdFileProviderDomain(NSFileProviderDomain * const domain)
+    {
+        dispatch_async(dispatch_get_main_queue(), ^{
+            // Wait for this to finish
+            dispatch_group_t dispatchGroup = dispatch_group_create();
+            dispatch_group_notify(dispatchGroup, dispatch_get_main_queue(), ^{
+                [NSFileProviderManager addDomain:domain completionHandler:^(NSError * const error) {
+                    if(error) {
+                        qCDebug(lcMacFileProviderDomainManager) << "Error adding file provider domain: "
+                                                                << error.code
+                                                                << error.localizedDescription;
+                    }
+                }];
+            });
+
+            dispatch_group_enter(dispatchGroup);
+            [NSFileProviderManager removeDomain:domain completionHandler:^(NSError * const error) {
+                if(error) {
+                    qCDebug(lcMacFileProviderDomainManager) << "Error removing file provider domain: "
+                                                            << error.code
+                                                            << error.localizedDescription;
+                }
+
+                dispatch_group_leave(dispatchGroup);
+            }];
+        });
+    }
+
     void disconnectFileProviderDomainForAccount(const AccountState * const accountState, const QString &message)
     {
         Q_ASSERT(accountState);