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

Add ReceiveFileHandler

parent 2ce35485
No related branches found
No related tags found
2 merge requests!124File transfers example,!102Release 1.0.0
import XCTestDynamicOverlay
import XXClient
import XXMessengerClient
public struct ReceiveFileHandler {
public typealias OnError = (Error) -> Void
public var run: (@escaping OnError) -> Cancellable
public func callAsFunction(onError: @escaping OnError) -> Cancellable {
run(onError)
}
}
extension ReceiveFileHandler {
public static func live(
messenger: Messenger
) -> ReceiveFileHandler {
ReceiveFileHandler { onError in
messenger.registerReceiveFileCallback(.init { result in
switch result {
case .success(let file):
// TODO:
break
case .failure(let error):
onError(error)
}
})
}
}
}
extension ReceiveFileHandler {
public static let unimplemented = ReceiveFileHandler(
run: XCTUnimplemented("\(Self.self)", placeholder: Cancellable {})
)
}
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