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

Add CmixWaitForNetwork functor

parent bdfb583f
No related branches found
No related tags found
2 merge requests!102Release 1.0.0,!18Update Bindings
...@@ -9,6 +9,7 @@ public struct Cmix { ...@@ -9,6 +9,7 @@ public struct Cmix {
public var networkFollowerStatus: CmixNetworkFollowerStatus public var networkFollowerStatus: CmixNetworkFollowerStatus
public var startNetworkFollower: CmixStartNetworkFollower public var startNetworkFollower: CmixStartNetworkFollower
public var stopNetworkFollower: CmixStopNetworkFollower public var stopNetworkFollower: CmixStopNetworkFollower
public var waitForNetwork: CmixWaitForNetwork
} }
extension Cmix { extension Cmix {
...@@ -21,7 +22,8 @@ extension Cmix { ...@@ -21,7 +22,8 @@ extension Cmix {
hasRunningProcesses: .live(bindingsCmix), hasRunningProcesses: .live(bindingsCmix),
networkFollowerStatus: .live(bindingsCmix), networkFollowerStatus: .live(bindingsCmix),
startNetworkFollower: .live(bindingsCmix), startNetworkFollower: .live(bindingsCmix),
stopNetworkFollower: .live(bindingsCmix) stopNetworkFollower: .live(bindingsCmix),
waitForNetwork: .live(bindingsCmix)
) )
} }
} }
...@@ -35,6 +37,7 @@ extension Cmix { ...@@ -35,6 +37,7 @@ extension Cmix {
hasRunningProcesses: .unimplemented, hasRunningProcesses: .unimplemented,
networkFollowerStatus: .unimplemented, networkFollowerStatus: .unimplemented,
startNetworkFollower: .unimplemented, startNetworkFollower: .unimplemented,
stopNetworkFollower: .unimplemented stopNetworkFollower: .unimplemented,
waitForNetwork: .unimplemented
) )
} }
import Bindings
import XCTestDynamicOverlay
public struct CmixWaitForNetwork {
public var run: (Int) -> Bool
public func callAsFunction(timeoutMS: Int) -> Bool {
run(timeoutMS)
}
}
extension CmixWaitForNetwork {
public static func live(_ bindingsCmix: BindingsCmix) -> CmixWaitForNetwork {
CmixWaitForNetwork(run: bindingsCmix.wait(forNetwork:))
}
}
extension CmixWaitForNetwork {
public static let unimplemented = CmixWaitForNetwork(
run: XCTUnimplemented("\(Self.self)")
)
}
import Bindings
public struct NetworkWaiter {
public var wait: (_ timeoutMS: Int) -> Bool
public func callAsFunction(timeoutMS: Int) -> Bool {
wait(timeoutMS)
}
}
extension NetworkWaiter {
public static func live(bindingsClient: BindingsCmix) -> NetworkWaiter {
NetworkWaiter { timeoutMS in
bindingsClient.wait(forNetwork: timeoutMS)
}
}
}
#if DEBUG
extension NetworkWaiter {
public static let failing = NetworkWaiter { _ in
fatalError("Not implemented")
}
}
#endif
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