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

Add CmixStartNetworkFollower functor

parent 786f12f3
No related branches found
No related tags found
2 merge requests!102Release 1.0.0,!18Update Bindings
......@@ -6,6 +6,7 @@ public struct Cmix {
public var isHealthy: CmixIsHealthy
public var hasRunningProcesses: CmixHasRunningProcesses
public var networkFollowerStatus: CmixNetworkFollowerStatus
public var startNetworkFollower: CmixStartNetworkFollower
}
extension Cmix {
......@@ -15,7 +16,8 @@ extension Cmix {
makeReceptionIdentity: .live(bindingsCmix),
isHealthy: .live(bindingsCmix),
hasRunningProcesses: .live(bindingsCmix),
networkFollowerStatus: .live(bindingsCmix)
networkFollowerStatus: .live(bindingsCmix),
startNetworkFollower: .live(bindingsCmix)
)
}
}
......@@ -26,6 +28,7 @@ extension Cmix {
makeReceptionIdentity: .unimplemented,
isHealthy: .unimplemented,
hasRunningProcesses: .unimplemented,
networkFollowerStatus: .unimplemented
networkFollowerStatus: .unimplemented,
startNetworkFollower: .unimplemented
)
}
import Bindings
import XCTestDynamicOverlay
public struct CmixStartNetworkFollower {
public var start: (Int) throws -> Void
public func callAsFunction(timeoutMS: Int) throws {
try start(timeoutMS)
}
}
extension CmixStartNetworkFollower {
public static func live(_ bindingsCmix: BindingsCmix) -> CmixStartNetworkFollower {
CmixStartNetworkFollower { timeoutMS in
try bindingsCmix.startNetworkFollower(timeoutMS)
}
}
}
extension CmixStartNetworkFollower {
public static let unimplemented = CmixStartNetworkFollower(
start: XCTUnimplemented("\(Self.self)")
)
}
import Bindings
public struct NetworkFollower {
public var status: NetworkFollowerStatusProvider
public var start: NetworkFollowerStarter
public var stop: NetworkFollowerStopper
}
extension NetworkFollower {
public static func live(bindingsClient: BindingsCmix) -> NetworkFollower {
NetworkFollower(
status: .live(bindingsClient: bindingsClient),
start: .live(bindingsClient: bindingsClient),
stop: .live(bindingsClient: bindingsClient)
)
}
}
#if DEBUG
extension NetworkFollower {
public static let failing = NetworkFollower(
status: .failing,
start: .failing,
stop: .failing
)
}
#endif
//import Bindings
//
//public struct NetworkFollower {
// public var status: NetworkFollowerStatusProvider
// public var start: NetworkFollowerStarter
// public var stop: NetworkFollowerStopper
//}
//
//extension NetworkFollower {
// public static func live(bindingsClient: BindingsCmix) -> NetworkFollower {
// NetworkFollower(
// status: .live(bindingsClient: bindingsClient),
// start: .live(bindingsClient: bindingsClient),
// stop: .live(bindingsClient: bindingsClient)
// )
// }
//}
//
//#if DEBUG
//extension NetworkFollower {
// public static let failing = NetworkFollower(
// status: .failing,
// start: .failing,
// stop: .failing
// )
//}
//#endif
import Bindings
public struct NetworkFollowerStarter {
public var start: (_ timeoutMS: Int) throws -> Void
public func callAsFunction(timeoutMS: Int) throws {
try start(timeoutMS)
}
}
extension NetworkFollowerStarter {
public static func live(bindingsClient: BindingsCmix) -> NetworkFollowerStarter {
NetworkFollowerStarter { timeoutMS in
try bindingsClient.startNetworkFollower(timeoutMS)
}
}
}
#if DEBUG
extension NetworkFollowerStarter {
public static let failing = NetworkFollowerStarter { _ in
struct NotImplemented: Error {}
throw NotImplemented()
}
}
#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