]> git.ipfire.org Git - thirdparty/wireguard-apple.git/commitdiff
Tunnel view model: VPN-on-demand stuff shouldn't be part of the tunnel model
authorRoopesh Chander <roop@roopc.net>
Mon, 12 Nov 2018 10:22:28 +0000 (15:52 +0530)
committerRoopesh Chander <roop@roopc.net>
Mon, 12 Nov 2018 13:54:13 +0000 (19:24 +0530)
Signed-off-by: Roopesh Chander <roop@roopc.net>
WireGuard/WireGuard/UI/TunnelViewModel.swift

index bfcfb156f980fc13a0b086a1f7efc40a80b05c7d..972c446dbee89b18d3de4fea27ebe3a6d86c4d37 100644 (file)
@@ -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
+    }
+
+}