From 7a24f18eb753180800f9b44a767b0d59e4e702b7 Mon Sep 17 00:00:00 2001 From: Eric Kuck Date: Fri, 14 Dec 2018 17:12:59 -0600 Subject: Most similar views now shared between ViewControllers Signed-off-by: Eric Kuck --- WireGuard/WireGuard/Tunnel/TunnelStatus.swift | 46 +++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 WireGuard/WireGuard/Tunnel/TunnelStatus.swift (limited to 'WireGuard/WireGuard/Tunnel/TunnelStatus.swift') diff --git a/WireGuard/WireGuard/Tunnel/TunnelStatus.swift b/WireGuard/WireGuard/Tunnel/TunnelStatus.swift new file mode 100644 index 0000000..9f03417 --- /dev/null +++ b/WireGuard/WireGuard/Tunnel/TunnelStatus.swift @@ -0,0 +1,46 @@ +// SPDX-License-Identifier: MIT +// Copyright © 2018 WireGuard LLC. All Rights Reserved. + +import Foundation +import NetworkExtension + +@objc enum TunnelStatus: Int { + case inactive + case activating + case active + case deactivating + case reasserting // Not a possible state at present + case restarting // Restarting tunnel (done after saving modifications to an active tunnel) + case waiting // Waiting for another tunnel to be brought down + + init(from systemStatus: NEVPNStatus) { + switch systemStatus { + case .connected: + self = .active + case .connecting: + self = .activating + case .disconnected: + self = .inactive + case .disconnecting: + self = .deactivating + case .reasserting: + self = .reasserting + case .invalid: + self = .inactive + } + } +} + +extension TunnelStatus: CustomDebugStringConvertible { + public var debugDescription: String { + switch self { + case .inactive: return "inactive" + case .activating: return "activating" + case .active: return "active" + case .deactivating: return "deactivating" + case .reasserting: return "reasserting" + case .restarting: return "restarting" + case .waiting: return "waiting" + } + } +} -- cgit v1.2.3-59-g8ed1b