diff options
author | Roopesh Chander <roop@roopc.net> | 2018-11-12 16:04:03 +0530 |
---|---|---|
committer | Roopesh Chander <roop@roopc.net> | 2018-11-12 19:24:13 +0530 |
commit | 923d039a78e8a4a026bda684ce4b84956e074353 (patch) | |
tree | 21029f46dc8bebe50164b364b17171ecf3c41dc5 /WireGuard/WireGuard/VPN | |
parent | Tunnel edit: Update for VPN-on-demand changes (diff) | |
download | wireguard-apple-923d039a78e8a4a026bda684ce4b84956e074353.tar.xz wireguard-apple-923d039a78e8a4a026bda684ce4b84956e074353.zip |
Tunnels manager: Keep track of NETunnelProviderManager's isOnDemandEnabled property
Signed-off-by: Roopesh Chander <roop@roopc.net>
Diffstat (limited to 'WireGuard/WireGuard/VPN')
-rw-r--r-- | WireGuard/WireGuard/VPN/TunnelsManager.swift | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/WireGuard/WireGuard/VPN/TunnelsManager.swift b/WireGuard/WireGuard/VPN/TunnelsManager.swift index d75e6c0..935036d 100644 --- a/WireGuard/WireGuard/VPN/TunnelsManager.swift +++ b/WireGuard/WireGuard/VPN/TunnelsManager.swift @@ -158,6 +158,8 @@ class TunnelsManager { tunnel.beginRestart() } + tunnel.isActivateOnDemandEnabled = tunnelProviderManager.isOnDemandEnabled + completionHandler(nil) } } @@ -215,9 +217,9 @@ class TunnelsManager { tunnel.startDeactivation() } - func refreshConnectionStatuses() { + func refreshStatuses() { for t in tunnels { - t.refreshConnectionStatus() + t.refreshStatus() } } } @@ -225,6 +227,7 @@ class TunnelsManager { class TunnelContainer: NSObject { @objc dynamic var name: String @objc dynamic var status: TunnelStatus + @objc dynamic var isActivateOnDemandEnabled: Bool var onDeactivationComplete: (() -> Void)? @@ -235,6 +238,7 @@ class TunnelContainer: NSObject { self.name = tunnel.localizedDescription ?? "Unnamed" let status = TunnelStatus(from: tunnel.connection.status) self.status = status + self.isActivateOnDemandEnabled = tunnel.isOnDemandEnabled self.tunnelProvider = tunnel super.init() if (status != .inactive) { @@ -250,9 +254,10 @@ class TunnelContainer: NSObject { return ActivateOnDemandSetting(from: tunnelProvider) } - func refreshConnectionStatus() { + func refreshStatus() { let status = TunnelStatus(from: self.tunnelProvider.connection.status) self.status = status + self.isActivateOnDemandEnabled = self.tunnelProvider.isOnDemandEnabled if (status != .inactive) { startObservingTunnelStatus() } |