Skip to content

Commit

Permalink
Fix some lint issues
Browse files Browse the repository at this point in the history
  • Loading branch information
tadaskay committed Jan 19, 2024
1 parent 55cbe75 commit f15fcad
Show file tree
Hide file tree
Showing 3 changed files with 31 additions and 31 deletions.
8 changes: 4 additions & 4 deletions darwin/Classes/ConnectionStatus.swift
Original file line number Diff line number Diff line change
Expand Up @@ -8,17 +8,17 @@ enum ConnectionStatus: String {
case connecting
case disconnecting
case unknown
static func fromNEVPNStatus(ns: NEVPNStatus) -> ConnectionStatus {
switch ns {

static func fromNEVPNStatus(status: NEVPNStatus) -> ConnectionStatus {
switch status {
case .connected: return ConnectionStatus.connected
case .disconnected: return ConnectionStatus.disconnected
case .connecting: return ConnectionStatus.connecting
case .disconnecting: return ConnectionStatus.disconnecting
default: return ConnectionStatus.unknown
}
}

func string() -> String {
return self.rawValue
}
Expand Down
22 changes: 11 additions & 11 deletions darwin/Classes/ConnectionStatusObserver.swift
Original file line number Diff line number Diff line change
Expand Up @@ -13,39 +13,39 @@ import WireGuardKit
import os

class ConnectionStatusObserver: NSObject, FlutterStreamHandler {

private var eventSink: FlutterEventSink?
private var isRunning: Bool = false
public func _statusChanged(n: Notification?) {
guard let conn = n?.object as? NEVPNConnection else {

public func handleStatusChanged(notification: Notification?) {
guard let conn = notification?.object as? NEVPNConnection else {
return
}
guard let eventSink = eventSink else {
return
}
let newStatus = ConnectionStatus.fromNEVPNStatus(ns: conn.status)
let newStatus = ConnectionStatus.fromNEVPNStatus(status: conn.status)

Logger.main.debug("VPN status changed: \(newStatus.string())")
eventSink(newStatus.string())
}

public func onListen(withArguments arguments: Any?, eventSink events: @escaping FlutterEventSink) -> FlutterError? {
self.eventSink = events

if !isRunning {
NotificationCenter.default.addObserver(
forName: NSNotification.Name.NEVPNStatusDidChange,
object: nil,
queue: OperationQueue.main,
using: _statusChanged
using: handleStatusChanged
)
}

isRunning = true
return nil
}

public func onCancel(withArguments arguments: Any?) -> FlutterError? {
isRunning = false
NotificationCenter.default.removeObserver(self)
Expand Down
32 changes: 16 additions & 16 deletions darwin/Classes/WireguardDartPlugin.swift
Original file line number Diff line number Diff line change
Expand Up @@ -13,30 +13,30 @@ import NetworkExtension
import os

public class WireguardDartPlugin: NSObject, FlutterPlugin {

private var vpnManager: NETunnelProviderManager?

var vpnStatus: NEVPNStatus {
get {
return vpnManager?.connection.status ?? NEVPNStatus.invalid
}
}

public static func register(with registrar: FlutterPluginRegistrar) {
#if os(iOS)
let messenger = registrar.messenger()
#else
let messenger = registrar.messenger
#endif
let channel = FlutterMethodChannel(name: "wireguard_dart", binaryMessenger: messenger)

let instance = WireguardDartPlugin()
registrar.addMethodCallDelegate(instance, channel: channel)

let statusChannel = FlutterEventChannel(name: "wireguard_dart/status", binaryMessenger: messenger)
statusChannel.setStreamHandler(ConnectionStatusObserver())
}

public func handle(_ call: FlutterMethodCall, result: @escaping FlutterResult) {
switch call.method {
case "nativeInit":
Expand All @@ -45,12 +45,12 @@ public class WireguardDartPlugin: NSObject, FlutterPlugin {
let privateKey = PrivateKey()
let privateKeyResponse: [String: Any] = [
"privateKey": privateKey.base64Key,
"publicKey": privateKey.publicKey.base64Key,
"publicKey": privateKey.publicKey.base64Key
]
result(privateKeyResponse)
case "setupTunnel":
Logger.main.debug("handle setupTunnel")
guard let args = call.arguments as? Dictionary<String, Any>, args["bundleId"] != nil else {
guard let args = call.arguments as? [String: Any], args["bundleId"] != nil else {
result(nativeFlutterError(message: "required argument: 'bundleId'"))
return
}
Expand All @@ -77,7 +77,7 @@ public class WireguardDartPlugin: NSObject, FlutterPlugin {
case "connect":
Logger.main.debug("handle connect")
let cfg: String
if let args = call.arguments as? Dictionary<String, Any>,
if let args = call.arguments as? [String: Any],
let argCfg = args["cfg"] as? String {
cfg = argCfg
} else {
Expand Down Expand Up @@ -115,36 +115,36 @@ public class WireguardDartPlugin: NSObject, FlutterPlugin {
result("")
}
case "status":
guard let _ = vpnManager else {
guard vpnManager != nil else {
Logger.main.error("Tunnel not initialized, missing 'vpnManager'")
result(nativeFlutterError(message: "tunnel not initialized, missing 'vpnManager'"))
return
}
Task {
result(ConnectionStatus.fromNEVPNStatus(ns: vpnStatus).string())
result(ConnectionStatus.fromNEVPNStatus(status: vpnStatus).string())
}
default:
result(FlutterMethodNotImplemented)
}
}

func setupProviderManager(bundleId: String, tunnelName: String) async throws -> NETunnelProviderManager {
let mgrs = try await NETunnelProviderManager.loadAllFromPreferences()
let existingMgr = mgrs.first(where: {
($0.protocolConfiguration as? NETunnelProviderProtocol)?.providerBundleIdentifier == bundleId
})
let mgr = existingMgr ?? NETunnelProviderManager()

mgr.localizedDescription = tunnelName
let proto = NETunnelProviderProtocol()
proto.providerBundleIdentifier = bundleId
proto.serverAddress = "" // must be non-null
mgr.protocolConfiguration = proto
mgr.isEnabled = true

try await mgr.saveToPreferences()

return mgr
}

}

0 comments on commit f15fcad

Please sign in to comment.