diff --git a/Sources/XXClient/CMix/Functors/CMixTrackServices.swift b/Sources/XXClient/CMix/Functors/CMixTrackServices.swift new file mode 100644 index 0000000000000000000000000000000000000000..3f653cb715f7464e6c275ea35c48550d0333634e --- /dev/null +++ b/Sources/XXClient/CMix/Functors/CMixTrackServices.swift @@ -0,0 +1,26 @@ +import Bindings +import XCTestDynamicOverlay + +public struct CMixTrackServices { + public var run: (TrackServicesCallback) -> Void + + public func callAsFunction( + callback: TrackServicesCallback + ) -> Void { + run(callback) + } +} + +extension CMixTrackServices { + public static func live(_ bindingsCMix: BindingsCmix) -> CMixTrackServices { + CMixTrackServices { callback in + bindingsCMix.trackServices(callback.makeBindingsHealthCallback()) + } + } +} + +extension CMixTrackServices { + public static let unimplemented = CMixTrackServices( + run: XCTUnimplemented("\(Self.self)") + ) +}