BarcodeHandler.swift
1.18 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
//
// BarcodeHandler.swift
// mobile_scanner
//
// Created by Julian Steenbakker on 24/08/2022.
//
import Flutter
import Foundation
public class BarcodeHandler: NSObject, FlutterStreamHandler {
private var eventSink: FlutterEventSink?
private let eventChannel: FlutterEventChannel
init(registrar: FlutterPluginRegistrar) {
eventChannel = FlutterEventChannel(name:
"dev.steenbakker.mobile_scanner/scanner/event", binaryMessenger: registrar.messenger())
super.init()
eventChannel.setStreamHandler(self)
}
func publishError(_ error: FlutterError) {
DispatchQueue.main.async {
self.eventSink?(error)
}
}
func publishEvent(_ event: [String: Any?]) {
DispatchQueue.main.async {
self.eventSink?(event)
}
}
public func onListen(withArguments arguments: Any?,
eventSink: @escaping FlutterEventSink) -> FlutterError? {
self.eventSink = eventSink
return nil
}
public func onCancel(withArguments arguments: Any?) -> FlutterError? {
eventSink = nil
return nil
}
}