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
This commit is part of merge request !56. Comments created here will be created in the context of that merge request.
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