diff --git a/Sources/ElixxirDAppsSDK/Cmix.swift b/Sources/ElixxirDAppsSDK/Cmix.swift index e14292d9c8274b1dd6dea0d00c481a2290484a34..694f585eaf48baabc78e5605a5a5504e181fc0ed 100644 --- a/Sources/ElixxirDAppsSDK/Cmix.swift +++ b/Sources/ElixxirDAppsSDK/Cmix.swift @@ -1,12 +1,14 @@ import Bindings public struct Cmix { + public var getId: CmixGetId public var makeReceptionIdentity: MakeReceptionIdentity } extension Cmix { public static func live(_ bindingsCmix: BindingsCmix) -> Cmix { Cmix( + getId: .live(bindingsCmix), makeReceptionIdentity: .live(bindingsCmix) ) } @@ -14,6 +16,7 @@ extension Cmix { extension Cmix { public static let unimplemented = Cmix( + getId: .unimplemented, makeReceptionIdentity: .unimplemented ) } diff --git a/Sources/ElixxirDAppsSDK/CmixGetId.swift b/Sources/ElixxirDAppsSDK/CmixGetId.swift new file mode 100644 index 0000000000000000000000000000000000000000..2d4a925562bd69e87f97124a043b86296e79b123 --- /dev/null +++ b/Sources/ElixxirDAppsSDK/CmixGetId.swift @@ -0,0 +1,22 @@ +import Bindings +import XCTestDynamicOverlay + +public struct CmixGetId { + public var run: () -> Int + + public func callAsFunction() -> Int { + run() + } +} + +extension CmixGetId { + public static func live(_ bindingsCmix: BindingsCmix) -> CmixGetId { + CmixGetId(run: bindingsCmix.getID) + } +} + +extension CmixGetId { + public static let unimplemented = CmixGetId( + run: XCTUnimplemented("\(Self.self)") + ) +}