aboutsummaryrefslogtreecommitdiffstats
path: root/WireGuard/WireGuard/VPN/TunnelsManager.swift
diff options
context:
space:
mode:
Diffstat (limited to 'WireGuard/WireGuard/VPN/TunnelsManager.swift')
-rw-r--r--WireGuard/WireGuard/VPN/TunnelsManager.swift14
1 files changed, 14 insertions, 0 deletions
diff --git a/WireGuard/WireGuard/VPN/TunnelsManager.swift b/WireGuard/WireGuard/VPN/TunnelsManager.swift
index ba4ef7f..682aa79 100644
--- a/WireGuard/WireGuard/VPN/TunnelsManager.swift
+++ b/WireGuard/WireGuard/VPN/TunnelsManager.swift
@@ -208,6 +208,12 @@ class TunnelsManager {
}
tunnel.startDeactivation()
}
+
+ func refreshConnectionStatuses() {
+ for t in tunnels {
+ t.refreshConnectionStatus()
+ }
+ }
}
class TunnelContainer: NSObject {
@@ -232,6 +238,14 @@ class TunnelContainer: NSObject {
return (tunnelProvider.protocolConfiguration as! NETunnelProviderProtocol).tunnelConfiguration()
}
+ func refreshConnectionStatus() {
+ let status = TunnelStatus(from: self.tunnelProvider.connection.status)
+ self.status = status
+ if (status != .inactive) {
+ startObservingTunnelStatus()
+ }
+ }
+
fileprivate func startActivation(completionHandler: @escaping (Error?) -> Void) {
assert(status == .inactive || status == .restarting)