Add ios command client
This commit is contained in:
@@ -1,16 +1,11 @@
|
||||
//
|
||||
// LogsEventHandler.swift
|
||||
// Runner
|
||||
//
|
||||
// Created by GFWFighter on 10/24/23.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
import Combine
|
||||
|
||||
public class LogsEventHandler: NSObject, FlutterPlugin, FlutterStreamHandler {
|
||||
static let name = "\(Bundle.main.serviceIdentifier)/service.logs"
|
||||
|
||||
private var channel: FlutterEventChannel?
|
||||
private var cancellable: AnyCancellable?
|
||||
|
||||
public static func register(with registrar: FlutterPluginRegistrar) {
|
||||
let instance = LogsEventHandler()
|
||||
@@ -19,13 +14,15 @@ public class LogsEventHandler: NSObject, FlutterPlugin, FlutterStreamHandler {
|
||||
}
|
||||
|
||||
public func onListen(withArguments arguments: Any?, eventSink events: @escaping FlutterEventSink) -> FlutterError? {
|
||||
if VPNManager.shared.logCallback {
|
||||
events(VPNManager.shared.logList)
|
||||
VPNManager.shared.logClient?.connect()
|
||||
cancellable = VPNManager.shared.logClient?.$logList.sink { [events] logsList in
|
||||
events(logsList)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
public func onCancel(withArguments arguments: Any?) -> FlutterError? {
|
||||
cancellable?.cancel()
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user