diff options
author | Roopesh Chander <roop@roopc.net> | 2018-11-12 14:02:09 +0530 |
---|---|---|
committer | Roopesh Chander <roop@roopc.net> | 2018-11-12 19:24:13 +0530 |
commit | cc122d7463f98ab3f26d46ab849173ffd58d7951 (patch) | |
tree | c22e870308a68a26b4bdd7c0cd30bf5430dcc4ad /WireGuard/Shared/Model/ActivationType.swift | |
parent | TunnelsManager: Support for on-demand rules (diff) | |
download | wireguard-apple-cc122d7463f98ab3f26d46ab849173ffd58d7951.tar.xz wireguard-apple-cc122d7463f98ab3f26d46ab849173ffd58d7951.zip |
Model, Tunnels manager: Rewrite the model for VPN-on-demand
The VPN-on-demand settings should not be part of the tunnel
configuration. Rather, the onDemandRules stored in the
tunnel provider configuration serve as the one place
where the VPN-on-demand settings are stored.
Signed-off-by: Roopesh Chander <roop@roopc.net>
Diffstat (limited to '')
-rw-r--r-- | WireGuard/Shared/Model/ActivationType.swift | 66 |
1 files changed, 0 insertions, 66 deletions
diff --git a/WireGuard/Shared/Model/ActivationType.swift b/WireGuard/Shared/Model/ActivationType.swift deleted file mode 100644 index ea5927d..0000000 --- a/WireGuard/Shared/Model/ActivationType.swift +++ /dev/null @@ -1,66 +0,0 @@ -// SPDX-License-Identifier: MIT -// Copyright © 2018 WireGuard LLC. All Rights Reserved. - -enum ActivationType { - case activateManually - case useOnDemandOverWifiAndCellular - case useOnDemandOverWifiOnly - case useOnDemandOverCellularOnly -} - -extension ActivationType: Codable { - // We use separate coding keys in case we might have a enum with associated values in the future - enum CodingKeys: CodingKey { - case activateManually - case useOnDemandOverWifiAndCellular - case useOnDemandOverWifiOnly - case useOnDemandOverCellularOnly - } - - // Decoding error - enum DecodingError: Error { - case invalidInput - } - - // Encoding - func encode(to encoder: Encoder) throws { - var container = encoder.container(keyedBy: CodingKeys.self) - switch self { - case .activateManually: - try container.encode(true, forKey: CodingKeys.activateManually) - case .useOnDemandOverWifiAndCellular: - try container.encode(true, forKey: CodingKeys.useOnDemandOverWifiAndCellular) - case .useOnDemandOverWifiOnly: - try container.encode(true, forKey: CodingKeys.useOnDemandOverWifiOnly) - case .useOnDemandOverCellularOnly: - try container.encode(true, forKey: CodingKeys.useOnDemandOverCellularOnly) - } - } - - // Decoding - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: CodingKeys.self) - - if let isValid = try? container.decode(Bool.self, forKey: CodingKeys.activateManually), isValid { - self = .activateManually - return - } - - if let isValid = try? container.decode(Bool.self, forKey: CodingKeys.useOnDemandOverWifiAndCellular), isValid { - self = .useOnDemandOverWifiAndCellular - return - } - - if let isValid = try? container.decode(Bool.self, forKey: CodingKeys.useOnDemandOverWifiOnly), isValid { - self = .useOnDemandOverWifiOnly - return - } - - if let isValid = try? container.decode(Bool.self, forKey: CodingKeys.useOnDemandOverCellularOnly), isValid { - self = .useOnDemandOverCellularOnly - return - } - - throw DecodingError.invalidInput - } -} |