aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoopesh Chander <roop@roopc.net>2021-07-24 23:53:31 +0530
committerRoopesh Chander <roop@roopc.net>2021-07-28 03:18:01 +0530
commit40f18de4d28b9ac7779be4f06b5a0fc35061e8ec (patch)
tree073f3a1a15b5bb8e58a5af60311974b9cd488360
parentGlobal: bump copyright year (diff)
downloadwireguard-apple-40f18de4d28b9ac7779be4f06b5a0fc35061e8ec.tar.xz
wireguard-apple-40f18de4d28b9ac7779be4f06b5a0fc35061e8ec.zip
UI: TunnelsManager: Add TunnelContainer.hasOnDemandRules
Signed-off-by: Roopesh Chander <roop@roopc.net>
-rw-r--r--Sources/WireGuardApp/Tunnel/TunnelsManager.swift10
1 files changed, 8 insertions, 2 deletions
diff --git a/Sources/WireGuardApp/Tunnel/TunnelsManager.swift b/Sources/WireGuardApp/Tunnel/TunnelsManager.swift
index 1e06671..c73891e 100644
--- a/Sources/WireGuardApp/Tunnel/TunnelsManager.swift
+++ b/Sources/WireGuardApp/Tunnel/TunnelsManager.swift
@@ -498,6 +498,7 @@ class TunnelContainer: NSObject {
@objc dynamic var status: TunnelStatus
@objc dynamic var isActivateOnDemandEnabled: Bool
+ @objc dynamic var hasOnDemandRules: Bool
var isAttemptingActivation = false {
didSet {
@@ -524,7 +525,12 @@ class TunnelContainer: NSObject {
var activationTimer: Timer?
var deactivationTimer: Timer?
- fileprivate var tunnelProvider: NETunnelProviderManager
+ fileprivate var tunnelProvider: NETunnelProviderManager {
+ didSet {
+ isActivateOnDemandEnabled = tunnelProvider.isOnDemandEnabled
+ hasOnDemandRules = !(tunnelProvider.onDemandRules ?? []).isEmpty
+ }
+ }
var tunnelConfiguration: TunnelConfiguration? {
return tunnelProvider.tunnelConfiguration
@@ -545,6 +551,7 @@ class TunnelContainer: NSObject {
let status = TunnelStatus(from: tunnel.connection.status)
self.status = status
isActivateOnDemandEnabled = tunnel.isOnDemandEnabled
+ hasOnDemandRules = !(tunnel.onDemandRules ?? []).isEmpty
tunnelProvider = tunnel
super.init()
}
@@ -571,7 +578,6 @@ class TunnelContainer: NSObject {
return
}
status = TunnelStatus(from: tunnelProvider.connection.status)
- isActivateOnDemandEnabled = tunnelProvider.isOnDemandEnabled
}
fileprivate func startActivation(recursionCount: UInt = 0, lastError: Error? = nil, activationDelegate: TunnelsManagerActivationDelegate?) {