diff options
| author | Andrej Mihajlov <and@mullvad.net> | 2021-09-17 12:48:43 +0200 |
|---|---|---|
| committer | Andrej Mihajlov <and@mullvad.net> | 2021-09-21 10:43:58 +0200 |
| commit | b311bd8a753d9880d77b5581ea36be0b59dd487c (patch) | |
| tree | 9907b979d602a6a49234fedb06ffa1b8d4e9d0fc | |
| parent | e2c737f611716a632dbd2e26440c57c9c79af2c1 (diff) | |
| download | mullvadvpn-b311bd8a753d9880d77b5581ea36be0b59dd487c.tar.xz mullvadvpn-b311bd8a753d9880d77b5581ea36be0b59dd487c.zip | |
VPNTunnelProviderManagerProtocol: add promises
| -rw-r--r-- | ios/MullvadVPN/SimulatorTunnelProvider.swift | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/ios/MullvadVPN/SimulatorTunnelProvider.swift b/ios/MullvadVPN/SimulatorTunnelProvider.swift index 98b51dda34..3ee852299f 100644 --- a/ios/MullvadVPN/SimulatorTunnelProvider.swift +++ b/ios/MullvadVPN/SimulatorTunnelProvider.swift @@ -46,6 +46,56 @@ extension NEVPNConnection: VPNConnectionProtocol {} extension NETunnelProviderSession: VPNTunnelProviderSessionProtocol {} extension NETunnelProviderManager: VPNTunnelProviderManagerProtocol {} +extension VPNTunnelProviderManagerProtocol { + static func loadAllFromPreferences() -> Result<[SelfType]?, Error>.Promise { + return Result<[SelfType]?, Error>.Promise { resolver in + Self.loadAllFromPreferences { tunnels, error in + if let error = error { + resolver.resolve(value: .failure(error)) + } else { + resolver.resolve(value: .success(tunnels)) + } + } + } + } + + func loadFromPreferences() -> Result<(), Error>.Promise { + return Result<(), Error>.Promise { resolver in + loadFromPreferences { error in + if let error = error { + resolver.resolve(value: .failure(error)) + } else { + resolver.resolve(value: .success(())) + } + } + } + } + + func saveToPreferences() -> Result<(), Error>.Promise { + return Result<(), Error>.Promise { resolver in + saveToPreferences { error in + if let error = error { + resolver.resolve(value: .failure(error)) + } else { + resolver.resolve(value: .success(())) + } + } + } + } + + func removeFromPreferences() -> Result<(), Error>.Promise { + return Result<(), Error>.Promise { resolver in + removeFromPreferences { error in + if let error = error { + resolver.resolve(value: .failure(error)) + } else { + resolver.resolve(value: .success(())) + } + } + } + } +} + #if targetEnvironment(simulator) // MARK: - NEPacketTunnelProvider stubs |
