Skip to content
Snippets Groups Projects
Commit a0cd9910 authored by Dariusz Rybicki's avatar Dariusz Rybicki
Browse files

Add TrackServicesCallback

parent 2a7ba0b5
No related branches found
No related tags found
2 merge requests!102Release 1.0.0,!56Update Bindings
import Bindings
import XCTestDynamicOverlay
public struct TrackServicesCallback {
public init(handle: @escaping (Result<Data, Error>) -> Void) {
self.handle = handle
}
public var handle: (Result<Data, Error>) -> Void
}
extension TrackServicesCallback {
public static let unimplemented = HealthCallback(
handle: XCTUnimplemented("\(Self.self)")
)
}
extension TrackServicesCallback {
func makeBindingsHealthCallback() -> BindingsTrackServicesCallbackProtocol {
class CallbackObject: NSObject, BindingsTrackServicesCallbackProtocol {
init(_ callback: TrackServicesCallback) {
self.callback = callback
}
let callback: TrackServicesCallback
func callback(_ marshalData: Data?, err: Error?) {
if let err = err {
callback.handle(.failure(err))
return
}
if let marshalData = marshalData {
callback.handle(.success(marshalData))
return
}
fatalError("BindingsTrackServicesCallback received nil marshalData and err")
}
}
return CallbackObject(self)
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment