aboutsummaryrefslogtreecommitdiffstats
path: root/WireGuard/WireGuard
diff options
context:
space:
mode:
authorRoopesh Chander <roop@roopc.net>2018-11-12 15:52:28 +0530
committerRoopesh Chander <roop@roopc.net>2018-11-12 19:24:13 +0530
commitf1b8de7312851a1e2f94e0d8390792576d641095 (patch)
treedd192b75f57470df6697fe36610944dafd9c746b /WireGuard/WireGuard
parentModel, Tunnels manager: Rewrite the model for VPN-on-demand (diff)
downloadwireguard-apple-f1b8de7312851a1e2f94e0d8390792576d641095.tar.xz
wireguard-apple-f1b8de7312851a1e2f94e0d8390792576d641095.zip
Tunnel view model: VPN-on-demand stuff shouldn't be part of the tunnel model
Signed-off-by: Roopesh Chander <roop@roopc.net>
Diffstat (limited to 'WireGuard/WireGuard')
-rw-r--r--WireGuard/WireGuard/UI/TunnelViewModel.swift38
1 files changed, 22 insertions, 16 deletions
diff --git a/WireGuard/WireGuard/UI/TunnelViewModel.swift b/WireGuard/WireGuard/UI/TunnelViewModel.swift
index bfcfb15..972c446 100644
--- a/WireGuard/WireGuard/UI/TunnelViewModel.swift
+++ b/WireGuard/WireGuard/UI/TunnelViewModel.swift
@@ -372,7 +372,6 @@ class TunnelViewModel {
var interfaceData: InterfaceData
var peersData: [PeerData]
- var activationType: ActivationType
init(tunnelConfiguration: TunnelConfiguration?) {
let interfaceData: InterfaceData = InterfaceData()
@@ -392,20 +391,6 @@ class TunnelViewModel {
}
self.interfaceData = interfaceData
self.peersData = peersData
- self.activationType = tunnelConfiguration?.activationType ?? .activateManually
- }
-
- func activateOnDemandOptionText(for activationType: ActivationType) -> String {
- switch (activationType) {
- case .activateManually:
- return ""
- case .useOnDemandOverWifiAndCellular:
- return "Over wifi and cellular"
- case .useOnDemandOverWifiOnly:
- return "Over wifi only"
- case .useOnDemandOverCellularOnly:
- return "Over cellular only"
- }
}
func appendEmptyPeer() {
@@ -457,8 +442,29 @@ class TunnelViewModel {
}
let tunnelConfiguration = TunnelConfiguration(interface: interfaceConfiguration, peers: peerConfigurations)
- tunnelConfiguration.activationType = self.activationType
return .saved(tunnelConfiguration)
}
}
}
+
+// MARK: Activate on demand
+
+extension TunnelViewModel {
+ func activateOnDemandOptionText(for activateOnDemandOption: ActivateOnDemandOption) -> String {
+ switch (activateOnDemandOption) {
+ case .none:
+ return ""
+ case .useOnDemandOverWifiOrCellular:
+ return "Over wifi or cellular"
+ case .useOnDemandOverWifiOnly:
+ return "Over wifi only"
+ case .useOnDemandOverCellularOnly:
+ return "Over cellular only"
+ }
+ }
+
+ func defaultActivateOnDemandOption() -> ActivateOnDemandOption {
+ return .useOnDemandOverWifiOrCellular
+ }
+
+}