diff --git a/components/fxa-client/ios/FxAClient.xcodeproj/project.pbxproj b/components/fxa-client/ios/FxAClient.xcodeproj/project.pbxproj index 55850e93b0..477c9bc713 100644 --- a/components/fxa-client/ios/FxAClient.xcodeproj/project.pbxproj +++ b/components/fxa-client/ios/FxAClient.xcodeproj/project.pbxproj @@ -11,13 +11,14 @@ CE9D202520914D0D00F1C8FA /* FxAClient.h in Headers */ = {isa = PBXBuildFile; fileRef = CE9D202320914D0D00F1C8FA /* FxAClient.h */; settings = {ATTRIBUTES = (Public, ); }; }; CE9D203120914D2600F1C8FA /* FirefoxAccount.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE9D202B20914D2600F1C8FA /* FirefoxAccount.swift */; }; CE9D203520914D2600F1C8FA /* fxa.h in Headers */ = {isa = PBXBuildFile; fileRef = CE9D202F20914D2600F1C8FA /* fxa.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CECB395420B5B92500DB3ED4 /* Errors.swift in Sources */ = {isa = PBXBuildFile; fileRef = CECB395220B5B77E00DB3ED4 /* Errors.swift */; }; CECB395D20B5BE0200DB3ED4 /* RustPointer.swift in Sources */ = {isa = PBXBuildFile; fileRef = CECB395B20B5BE0200DB3ED4 /* RustPointer.swift */; }; CEE1087620C5ADF9007048AC /* FxAError.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEE1087520C5ADF9007048AC /* FxAError.swift */; }; - D5C6DB0020DDBA7C009ACDD2 /* String+Free.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5C6DAFF20DDBA7C009ACDD2 /* String+Free.swift */; }; EBA8770C21F5FD5D004F63F0 /* base.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = EBA8770921F5FD5D004F63F0 /* base.xcconfig */; }; EBA8770D21F5FD5D004F63F0 /* debug.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = EBA8770A21F5FD5D004F63F0 /* debug.xcconfig */; }; EBA8770E21F5FD5D004F63F0 /* release.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = EBA8770B21F5FD5D004F63F0 /* release.xcconfig */; }; + EBE26B42220B3DF700D1D99A /* String+Free_FxAClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = EBE26B41220B3DF700D1D99A /* String+Free_FxAClient.swift */; }; + EBE26B49220B4D0200D1D99A /* CommonErrors.swift in Sources */ = {isa = PBXBuildFile; fileRef = EBE26B48220B4D0200D1D99A /* CommonErrors.swift */; }; + EBE26B4B220B4DE300D1D99A /* SerialQueue.swift in Sources */ = {isa = PBXBuildFile; fileRef = EBE26B4A220B4DE300D1D99A /* SerialQueue.swift */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -27,13 +28,14 @@ CE9D202420914D0D00F1C8FA /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; CE9D202B20914D2600F1C8FA /* FirefoxAccount.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FirefoxAccount.swift; sourceTree = ""; }; CE9D202F20914D2600F1C8FA /* fxa.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fxa.h; sourceTree = ""; }; - CECB395220B5B77E00DB3ED4 /* Errors.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Errors.swift; sourceTree = ""; }; CECB395B20B5BE0200DB3ED4 /* RustPointer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RustPointer.swift; sourceTree = ""; }; CEE1087520C5ADF9007048AC /* FxAError.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FxAError.swift; sourceTree = ""; }; - D5C6DAFF20DDBA7C009ACDD2 /* String+Free.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "String+Free.swift"; sourceTree = ""; }; EBA8770921F5FD5D004F63F0 /* base.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = base.xcconfig; sourceTree = ""; }; EBA8770A21F5FD5D004F63F0 /* debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = debug.xcconfig; sourceTree = ""; }; EBA8770B21F5FD5D004F63F0 /* release.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = release.xcconfig; sourceTree = ""; }; + EBE26B41220B3DF700D1D99A /* String+Free_FxAClient.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "String+Free_FxAClient.swift"; sourceTree = ""; }; + EBE26B48220B4D0200D1D99A /* CommonErrors.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = CommonErrors.swift; path = ../../../../support/ios/CommonErrors.swift; sourceTree = ""; }; + EBE26B4A220B4DE300D1D99A /* SerialQueue.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SerialQueue.swift; path = ../../../support/ios/SerialQueue.swift; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -78,6 +80,7 @@ CE9D202420914D0D00F1C8FA /* Info.plist */, CE9D202B20914D2600F1C8FA /* FirefoxAccount.swift */, CE9D202F20914D2600F1C8FA /* fxa.h */, + EBE26B4A220B4DE300D1D99A /* SerialQueue.swift */, ); path = FxAClient; sourceTree = ""; @@ -93,7 +96,7 @@ CECB394F20B5B77E00DB3ED4 /* Extensions */ = { isa = PBXGroup; children = ( - D5C6DAFF20DDBA7C009ACDD2 /* String+Free.swift */, + EBE26B41220B3DF700D1D99A /* String+Free_FxAClient.swift */, ); path = Extensions; sourceTree = ""; @@ -101,7 +104,7 @@ CECB395120B5B77E00DB3ED4 /* Errors */ = { isa = PBXGroup; children = ( - CECB395220B5B77E00DB3ED4 /* Errors.swift */, + EBE26B48220B4D0200D1D99A /* CommonErrors.swift */, CEE1087520C5ADF9007048AC /* FxAError.swift */, ); path = Errors; @@ -207,7 +210,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "sh ./build_ffi.sh"; + shellScript = "sh ./build_ffi.sh\n"; }; /* End PBXShellScriptBuildPhase section */ @@ -217,8 +220,9 @@ buildActionMask = 2147483647; files = ( CECB395D20B5BE0200DB3ED4 /* RustPointer.swift in Sources */, - CECB395420B5B92500DB3ED4 /* Errors.swift in Sources */, - D5C6DB0020DDBA7C009ACDD2 /* String+Free.swift in Sources */, + EBE26B4B220B4DE300D1D99A /* SerialQueue.swift in Sources */, + EBE26B42220B3DF700D1D99A /* String+Free_FxAClient.swift in Sources */, + EBE26B49220B4D0200D1D99A /* CommonErrors.swift in Sources */, CE9D203120914D2600F1C8FA /* FirefoxAccount.swift in Sources */, CEE1087620C5ADF9007048AC /* FxAError.swift in Sources */, ); diff --git a/components/fxa-client/ios/FxAClient/Extensions/String+Free.swift b/components/fxa-client/ios/FxAClient/Extensions/String+Free_FxAClient.swift similarity index 100% rename from components/fxa-client/ios/FxAClient/Extensions/String+Free.swift rename to components/fxa-client/ios/FxAClient/Extensions/String+Free_FxAClient.swift diff --git a/components/fxa-client/ios/FxAClient/FirefoxAccount.swift b/components/fxa-client/ios/FxAClient/FirefoxAccount.swift index cd059f1398..ebbc3f2a15 100644 --- a/components/fxa-client/ios/FxAClient/FirefoxAccount.swift +++ b/components/fxa-client/ios/FxAClient/FirefoxAccount.swift @@ -5,9 +5,6 @@ import Foundation import UIKit -// We use a serial queue to protect access to the rust object. -let queue = DispatchQueue(label: "com.fxaclient") - open class FxAConfig { public enum Server: String { case Release = "https://accounts.firefox.com" diff --git a/components/logins/ios/Logins.xcodeproj/project.pbxproj b/components/logins/ios/Logins.xcodeproj/project.pbxproj index 648a42075d..608b5e54f8 100644 --- a/components/logins/ios/Logins.xcodeproj/project.pbxproj +++ b/components/logins/ios/Logins.xcodeproj/project.pbxproj @@ -11,13 +11,15 @@ CDFA91EE2153568E0074CABF /* RustPasswordAPI.h in Headers */ = {isa = PBXBuildFile; fileRef = CDFA91ED2153568E0074CABF /* RustPasswordAPI.h */; settings = {ATTRIBUTES = (Public, ); }; }; CE9D202520914D0D00F1C8FA /* Logins.h in Headers */ = {isa = PBXBuildFile; fileRef = CE9D202320914D0D00F1C8FA /* Logins.h */; settings = {ATTRIBUTES = (Public, ); }; }; CE9D203120914D2600F1C8FA /* LoginsStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE9D202B20914D2600F1C8FA /* LoginsStorage.swift */; }; - CECB395420B5B92500DB3ED4 /* Errors.swift in Sources */ = {isa = PBXBuildFile; fileRef = CECB395220B5B77E00DB3ED4 /* Errors.swift */; }; + CECB395420B5B92500DB3ED4 /* LockError.swift in Sources */ = {isa = PBXBuildFile; fileRef = CECB395220B5B77E00DB3ED4 /* LockError.swift */; }; CEE1087620C5ADF9007048AC /* LoginStoreError.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEE1087520C5ADF9007048AC /* LoginStoreError.swift */; }; - D5C6DB0020DDBA7C009ACDD2 /* String+Free.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5C6DAFF20DDBA7C009ACDD2 /* String+Free.swift */; }; + D5C6DB0020DDBA7C009ACDD2 /* String+Free_Logins.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5C6DAFF20DDBA7C009ACDD2 /* String+Free_Logins.swift */; }; D819A4A821B861D6004EE6F3 /* liblogins_ffi.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D819A4A721B861D6004EE6F3 /* liblogins_ffi.a */; }; D819A4AF21B87468004EE6F3 /* libsqlcipher.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D819A4AE21B87467004EE6F3 /* libsqlcipher.a */; }; EB348E432204EA0C00788CD3 /* LoginsTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB348E422204EA0C00788CD3 /* LoginsTests.swift */; }; EB348E452204EA0C00788CD3 /* Logins.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CE9D202020914D0D00F1C8FA /* Logins.framework */; }; + EBE26B47220B4CE400D1D99A /* CommonErrors.swift in Sources */ = {isa = PBXBuildFile; fileRef = EBE26B46220B4CE400D1D99A /* CommonErrors.swift */; }; + EBE26B4D220B4DF100D1D99A /* SerialQueue.swift in Sources */ = {isa = PBXBuildFile; fileRef = EBE26B4C220B4DF100D1D99A /* SerialQueue.swift */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -37,9 +39,9 @@ CE9D202320914D0D00F1C8FA /* Logins.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Logins.h; sourceTree = ""; }; CE9D202420914D0D00F1C8FA /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; CE9D202B20914D2600F1C8FA /* LoginsStorage.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LoginsStorage.swift; sourceTree = ""; }; - CECB395220B5B77E00DB3ED4 /* Errors.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Errors.swift; sourceTree = ""; }; + CECB395220B5B77E00DB3ED4 /* LockError.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LockError.swift; sourceTree = ""; }; CEE1087520C5ADF9007048AC /* LoginStoreError.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoginStoreError.swift; sourceTree = ""; }; - D5C6DAFF20DDBA7C009ACDD2 /* String+Free.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "String+Free.swift"; sourceTree = ""; }; + D5C6DAFF20DDBA7C009ACDD2 /* String+Free_Logins.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "String+Free_Logins.swift"; sourceTree = ""; }; D819A4A721B861D6004EE6F3 /* liblogins_ffi.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = liblogins_ffi.a; path = ../../../target/universal/release/liblogins_ffi.a; sourceTree = ""; }; D819A4AE21B87467004EE6F3 /* libsqlcipher.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libsqlcipher.a; path = ../../../libs/ios/universal/sqlcipher/lib/libsqlcipher.a; sourceTree = ""; }; EB348E402204EA0C00788CD3 /* LoginsTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = LoginsTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -48,6 +50,8 @@ EBA8770621F5FB9A004F63F0 /* base.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = base.xcconfig; sourceTree = ""; }; EBA8770721F5FB9A004F63F0 /* debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = debug.xcconfig; sourceTree = ""; }; EBA8770821F5FB9A004F63F0 /* release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = release.xcconfig; sourceTree = ""; }; + EBE26B46220B4CE400D1D99A /* CommonErrors.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = CommonErrors.swift; path = ../../../../support/ios/CommonErrors.swift; sourceTree = ""; }; + EBE26B4C220B4DF100D1D99A /* SerialQueue.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SerialQueue.swift; path = ../../../support/ios/SerialQueue.swift; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -103,6 +107,7 @@ CE9D202420914D0D00F1C8FA /* Info.plist */, CE9D202B20914D2600F1C8FA /* LoginsStorage.swift */, CDB5AAEC21535E7F00B66D7E /* LoginRecord.swift */, + EBE26B4C220B4DF100D1D99A /* SerialQueue.swift */, ); path = Logins; sourceTree = ""; @@ -119,7 +124,7 @@ CECB394F20B5B77E00DB3ED4 /* Extensions */ = { isa = PBXGroup; children = ( - D5C6DAFF20DDBA7C009ACDD2 /* String+Free.swift */, + D5C6DAFF20DDBA7C009ACDD2 /* String+Free_Logins.swift */, ); path = Extensions; sourceTree = ""; @@ -127,7 +132,8 @@ CECB395120B5B77E00DB3ED4 /* Errors */ = { isa = PBXGroup; children = ( - CECB395220B5B77E00DB3ED4 /* Errors.swift */, + EBE26B46220B4CE400D1D99A /* CommonErrors.swift */, + CECB395220B5B77E00DB3ED4 /* LockError.swift */, CEE1087520C5ADF9007048AC /* LoginStoreError.swift */, ); path = Errors; @@ -270,11 +276,13 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - CECB395420B5B92500DB3ED4 /* Errors.swift in Sources */, - D5C6DB0020DDBA7C009ACDD2 /* String+Free.swift in Sources */, + CECB395420B5B92500DB3ED4 /* LockError.swift in Sources */, + D5C6DB0020DDBA7C009ACDD2 /* String+Free_Logins.swift in Sources */, CE9D203120914D2600F1C8FA /* LoginsStorage.swift in Sources */, + EBE26B47220B4CE400D1D99A /* CommonErrors.swift in Sources */, CDB5AAED21535E7F00B66D7E /* LoginRecord.swift in Sources */, CEE1087620C5ADF9007048AC /* LoginStoreError.swift in Sources */, + EBE26B4D220B4DF100D1D99A /* SerialQueue.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/components/logins/ios/Logins/Errors/Errors.swift b/components/logins/ios/Logins/Errors/LockError.swift similarity index 80% rename from components/logins/ios/Logins/Errors/Errors.swift rename to components/logins/ios/Logins/Errors/LockError.swift index 392f562bd4..f280c5cf9c 100644 --- a/components/logins/ios/Logins/Errors/Errors.swift +++ b/components/logins/ios/Logins/Errors/LockError.swift @@ -4,14 +4,6 @@ import Foundation -enum PointerError: Error { - case pointerConsumed -} - -enum ResultError: Error { - case empty -} - enum LockError: Error { /// Indicates that lock/unlock pairs were mismatched case mismatched diff --git a/components/logins/ios/Logins/Extensions/String+Free.swift b/components/logins/ios/Logins/Extensions/String+Free_Logins.swift similarity index 100% rename from components/logins/ios/Logins/Extensions/String+Free.swift rename to components/logins/ios/Logins/Extensions/String+Free_Logins.swift diff --git a/components/logins/ios/Logins/LoginsStorage.swift b/components/logins/ios/Logins/LoginsStorage.swift index 04e8bb6937..19d8ffdb76 100644 --- a/components/logins/ios/Logins/LoginsStorage.swift +++ b/components/logins/ios/Logins/LoginsStorage.swift @@ -20,9 +20,6 @@ open class SyncUnlockInfo { } } -// We use a serial queue to protect access to the rust object. -let queue = DispatchQueue(label: "org.mozilla.sync15.logins") - open class LoginsStorage { private var raw: UInt64 = 0 let dbPath: String diff --git a/components/fxa-client/ios/FxAClient/Errors/Errors.swift b/components/support/ios/CommonErrors.swift similarity index 100% rename from components/fxa-client/ios/FxAClient/Errors/Errors.swift rename to components/support/ios/CommonErrors.swift diff --git a/components/support/ios/SerialQueue.swift b/components/support/ios/SerialQueue.swift new file mode 100644 index 0000000000..579354c94a --- /dev/null +++ b/components/support/ios/SerialQueue.swift @@ -0,0 +1,9 @@ + /* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +import Foundation + +// We use a serial queue to protect access to the rust object. +let queue = DispatchQueue(label: "com.mozilla.rustappservices") +