Add a starter FileProviderConfig
authorClaudio Cambra <claudio.cambra@nextcloud.com>
Mon, 5 Feb 2024 08:57:52 +0000 (16:57 +0800)
committerClaudio Cambra <claudio.cambra@nextcloud.com>
Wed, 6 Mar 2024 10:46:41 +0000 (18:46 +0800)
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
shell_integration/MacOSX/NextcloudIntegration/FileProviderExt/FileProviderConfig.swift [new file with mode: 0644]
shell_integration/MacOSX/NextcloudIntegration/FileProviderExt/FileProviderExtension.swift
shell_integration/MacOSX/NextcloudIntegration/NextcloudIntegration.xcodeproj/project.pbxproj

diff --git a/shell_integration/MacOSX/NextcloudIntegration/FileProviderExt/FileProviderConfig.swift b/shell_integration/MacOSX/NextcloudIntegration/FileProviderExt/FileProviderConfig.swift
new file mode 100644 (file)
index 0000000..3259d56
--- /dev/null
@@ -0,0 +1,18 @@
+//
+//  FileProviderConfig.swift
+//  FileProviderExt
+//
+//  Created by Claudio Cambra on 5/2/24.
+//
+
+import FileProvider
+import Foundation
+
+struct FileProviderConfig {
+    enum FileProviderConfigKey: String {
+        case fastEnumerationEnabled = "fastEnumerationEnabled"
+    }
+
+    let domainIdentifier: NSFileProviderDomainIdentifier
+
+}
index 9c8ef65e9d6a5dc4a733e8f91a8db85960e46811..1c422e114b31d664c64afc473cf861cd292ec9c2 100644 (file)
@@ -66,6 +66,7 @@ import OSLog
     // fast enumeration by default. We prompt the user on the client side to run a proper, full
     // enumeration if they want for safety.
     var fastEnumeration = true
+    lazy var config = FileProviderConfig(domainIdentifier: domain.identifier)
 
     required init(domain: NSFileProviderDomain) {
         // The containing application must create a domain using 
index e93e1573786000d90e561d69148748653cd53258..6149378d5343aa1a16c222e789034e82054dd706 100644 (file)
@@ -40,6 +40,7 @@
                53903D37295618A400D0B308 /* LineProcessor.h in Headers */ = {isa = PBXBuildFile; fileRef = 53903D36295618A400D0B308 /* LineProcessor.h */; settings = {ATTRIBUTES = (Public, ); }; };
                539158AC27BE71A900816F56 /* FinderSyncSocketLineProcessor.m in Sources */ = {isa = PBXBuildFile; fileRef = 539158AB27BE71A900816F56 /* FinderSyncSocketLineProcessor.m */; };
                53D056312970594F00988392 /* LocalFilesUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53D056302970594F00988392 /* LocalFilesUtils.swift */; };
+               53D666612B70C9A70042C03D /* FileProviderConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53D666602B70C9A70042C03D /* FileProviderConfig.swift */; };
                53ED472029C5E64200795DB1 /* FileProviderEnumerator+SyncEngine.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53ED471F29C5E64200795DB1 /* FileProviderEnumerator+SyncEngine.swift */; };
                53ED472829C88E7000795DB1 /* NextcloudItemMetadataTable+NKFile.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53ED472729C88E7000795DB1 /* NextcloudItemMetadataTable+NKFile.swift */; };
                53ED473029C9CE0B00795DB1 /* FileProviderExtension+ClientInterface.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53ED472F29C9CE0B00795DB1 /* FileProviderExtension+ClientInterface.swift */; };
                539158B127BE891500816F56 /* LocalSocketClient.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = LocalSocketClient.h; sourceTree = "<group>"; };
                539158B227BEC98A00816F56 /* LocalSocketClient.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = LocalSocketClient.m; sourceTree = "<group>"; };
                53D056302970594F00988392 /* LocalFilesUtils.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LocalFilesUtils.swift; sourceTree = "<group>"; };
+               53D666602B70C9A70042C03D /* FileProviderConfig.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FileProviderConfig.swift; sourceTree = "<group>"; };
                53ED471F29C5E64200795DB1 /* FileProviderEnumerator+SyncEngine.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "FileProviderEnumerator+SyncEngine.swift"; sourceTree = "<group>"; };
                53ED472729C88E7000795DB1 /* NextcloudItemMetadataTable+NKFile.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NextcloudItemMetadataTable+NKFile.swift"; sourceTree = "<group>"; };
                53ED472F29C9CE0B00795DB1 /* FileProviderExtension+ClientInterface.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "FileProviderExtension+ClientInterface.swift"; sourceTree = "<group>"; };
                538E396B27F4765000FA63D5 /* FileProviderExt */ = {
                        isa = PBXGroup;
                        children = (
-                               5350E4C72B0C368B00F276CB /* Services */,
                                5318AD8F29BF406500CBB71C /* Database */,
                                5352E85929B7BFB4002CE85C /* Extensions */,
+                               5350E4C72B0C368B00F276CB /* Services */,
+                               53D666602B70C9A70042C03D /* FileProviderConfig.swift */,
                                538E397027F4765000FA63D5 /* FileProviderEnumerator.swift */,
                                53ED471F29C5E64200795DB1 /* FileProviderEnumerator+SyncEngine.swift */,
                                538E396C27F4765000FA63D5 /* FileProviderExtension.swift */,
                        buildActionMask = 2147483647;
                        files = (
                                5352E85B29B7BFE6002CE85C /* Progress+Extensions.swift in Sources */,
+                               53D666612B70C9A70042C03D /* FileProviderConfig.swift in Sources */,
                                536EFC36295E3C1100F4CB13 /* NextcloudAccount.swift in Sources */,
                                53ED473029C9CE0B00795DB1 /* FileProviderExtension+ClientInterface.swift in Sources */,
                                538E396D27F4765000FA63D5 /* FileProviderExtension.swift in Sources */,