Skip to content
Snippets Groups Projects
FileTransferRegisterReceivedProgressCallback.swift 1014 B
Newer Older
import Bindings
import XCTestDynamicOverlay

public struct FileTransferRegisterReceivedProgressCallback {
Dariusz Rybicki's avatar
Dariusz Rybicki committed
  public var run: (Data, Int, FileTransferProgressCallback) throws -> Void

  public func callAsFunction(
    transferId: Data,
Dariusz Rybicki's avatar
Dariusz Rybicki committed
    period: Int,
    callback: FileTransferProgressCallback
  ) throws {
    try run(transferId, period, callback)
  }
}

extension FileTransferRegisterReceivedProgressCallback {
  public static func live(_ bindingsFileTransfer: BindingsFileTransfer)
  -> FileTransferRegisterReceivedProgressCallback {
    FileTransferRegisterReceivedProgressCallback { transferId, period, callback in
      try bindingsFileTransfer.registerReceivedProgressCallback(
        transferId,
        callback: callback.makeBindingsFileTransferReceiveProgressCallback(),
        period: period
      )
    }
  }
}

extension FileTransferRegisterReceivedProgressCallback {
  public static let unimplemented = FileTransferRegisterReceivedProgressCallback(
    run: XCTUnimplemented("\(Self.self)")
  )
}