From a02efd65f8771895080ea05e743e77c28ec219c1 Mon Sep 17 00:00:00 2001 From: Claudio Cambra Date: Tue, 6 Feb 2024 14:08:37 +0800 Subject: [PATCH] Add method in file provider xpc to set fast enumeration enabled state Signed-off-by: Claudio Cambra --- src/gui/macOS/fileproviderxpc.h | 2 ++ src/gui/macOS/fileproviderxpc_mac.mm | 7 +++++++ 2 files changed, 9 insertions(+) diff --git a/src/gui/macOS/fileproviderxpc.h b/src/gui/macOS/fileproviderxpc.h index af4a5fd7b..58c6a0211 100644 --- a/src/gui/macOS/fileproviderxpc.h +++ b/src/gui/macOS/fileproviderxpc.h @@ -44,6 +44,8 @@ public slots: void unauthenticateExtension(const QString &extensionAccountId) const; void createDebugArchiveForExtension(const QString &extensionAccountId, const QString &filename) const; + void setFastEnumerationEnabledForExtension(const QString &extensionAccountId, bool enabled) const; + private slots: void slotAccountStateChanged(AccountState::State state) const; diff --git a/src/gui/macOS/fileproviderxpc_mac.mm b/src/gui/macOS/fileproviderxpc_mac.mm index 5fb39debe..fb956030b 100644 --- a/src/gui/macOS/fileproviderxpc_mac.mm +++ b/src/gui/macOS/fileproviderxpc_mac.mm @@ -158,4 +158,11 @@ std::optional> FileProviderXPC::fastEnumerationStateForExt return std::optional>{{receivedFastEnumerationEnabled, receivedFastEnumerationSet}}; } +void FileProviderXPC::setFastEnumerationEnabledForExtension(const QString &extensionAccountId, bool enabled) const +{ + qCInfo(lcFileProviderXPC) << "Setting fast enumeration for extension" << extensionAccountId << "to" << enabled; + const auto service = (NSObject *)_clientCommServices.value(extensionAccountId); + [service setFastEnumerationEnabled:enabled]; +} + } // namespace OCC::Mac -- 2.30.2