From 4b44419d2e5f9d5d94b4318dbfd87de6f3378633 Mon Sep 17 00:00:00 2001
From: Dariusz Rybicki <dariusz@elixxir.io>
Date: Fri, 28 Oct 2022 10:53:11 +0200
Subject: [PATCH] Add CMixIsReady function wrapper

---
 Sources/XXClient/CMix/CMix.swift              |  3 +++
 .../XXClient/CMix/Functions/CMixIsReady.swift | 24 +++++++++++++++++++
 2 files changed, 27 insertions(+)
 create mode 100644 Sources/XXClient/CMix/Functions/CMixIsReady.swift

diff --git a/Sources/XXClient/CMix/CMix.swift b/Sources/XXClient/CMix/CMix.swift
index 2a04a2d8..4571f0db 100644
--- a/Sources/XXClient/CMix/CMix.swift
+++ b/Sources/XXClient/CMix/CMix.swift
@@ -5,6 +5,7 @@ public struct CMix {
   public var getReceptionRegistrationValidationSignature: CMixGetReceptionRegistrationValidationSignature
   public var makeReceptionIdentity: CMixMakeReceptionIdentity
   public var isHealthy: CMixIsHealthy
+  public var isReady: CMixIsReady
   public var getNodeRegistrationStatus: CMixGetNodeRegistrationStatus
   public var changeNumberOfNodeRegistrations: CMixChangeNumberOfNodeRegistrations
   public var pauseNodeRegistrations: CMixPauseNodeRegistrations
@@ -27,6 +28,7 @@ extension CMix {
       getReceptionRegistrationValidationSignature: .live(bindingsCMix),
       makeReceptionIdentity: .live(bindingsCMix),
       isHealthy: .live(bindingsCMix),
+      isReady: .live(bindingsCMix),
       getNodeRegistrationStatus: .live(bindingsCMix),
       changeNumberOfNodeRegistrations: .live(bindingsCMix),
       pauseNodeRegistrations: .live(bindingsCMix),
@@ -50,6 +52,7 @@ extension CMix {
     getReceptionRegistrationValidationSignature: .unimplemented,
     makeReceptionIdentity: .unimplemented,
     isHealthy: .unimplemented,
+    isReady: .unimplemented,
     getNodeRegistrationStatus: .unimplemented,
     changeNumberOfNodeRegistrations: .unimplemented,
     pauseNodeRegistrations: .unimplemented,
diff --git a/Sources/XXClient/CMix/Functions/CMixIsReady.swift b/Sources/XXClient/CMix/Functions/CMixIsReady.swift
new file mode 100644
index 00000000..14e70e42
--- /dev/null
+++ b/Sources/XXClient/CMix/Functions/CMixIsReady.swift
@@ -0,0 +1,24 @@
+import Bindings
+import XCTestDynamicOverlay
+
+public struct CMixIsReady {
+  public var run: (Double) throws -> IsReadyInfo
+
+  public func callAsFunction(percent: Double) throws -> IsReadyInfo {
+    try run(percent)
+  }
+}
+
+extension CMixIsReady {
+  public static func live(_ bindingsCMix: BindingsCmix) -> CMixIsReady {
+    CMixIsReady { percent in
+      try IsReadyInfo.decode(try bindingsCMix.isReady(percent))
+    }
+  }
+}
+
+extension CMixIsReady {
+  public static let unimplemented = CMixIsReady(
+    run: XCTUnimplemented("\(Self.self)")
+  )
+}
-- 
GitLab