Files
haptika/packages/react-native-haptika-ppg/nitrogen/generated/ios/swift/HybridHaptikaCardiacMirrorSpec_cxx.swift
T
2026-07-31 16:20:10 +02:00

248 lines
8.2 KiB
Swift
Generated

///
/// HybridHaptikaCardiacMirrorSpec_cxx.swift
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
/// https://github.com/mrousavy/nitro
/// Copyright © Marc Rousavy @ Margelo
///
import NitroModules
/**
* A class implementation that bridges HybridHaptikaCardiacMirrorSpec over to C++.
* In C++, we cannot use Swift protocols - so we need to wrap it in a class to make it strongly defined.
*
* Also, some Swift types need to be bridged with special handling:
* - Enums need to be wrapped in Structs, otherwise they cannot be accessed bi-directionally (Swift bug: https://github.com/swiftlang/swift/issues/75330)
* - Other HybridObjects need to be wrapped/unwrapped from the Swift TCxx wrapper
* - Throwing methods need to be wrapped with a Result<T, Error> type, as exceptions cannot be propagated to C++
*/
open class HybridHaptikaCardiacMirrorSpec_cxx {
/**
* The Swift <> C++ bridge's namespace (`margelo::nitro::haptika::ppg::bridge::swift`)
* from `HaptikaPPG-Swift-Cxx-Bridge.hpp`.
* This contains specialized C++ templates, and C++ helper functions that can be accessed from Swift.
*/
public typealias bridge = margelo.nitro.haptika.ppg.bridge.swift
/**
* Holds an instance of the `HybridHaptikaCardiacMirrorSpec` Swift protocol.
*/
private var __implementation: any HybridHaptikaCardiacMirrorSpec
/**
* Holds a weak pointer to the C++ class that wraps the Swift class.
*/
private var __cxxPart: bridge.std__weak_ptr_HybridHaptikaCardiacMirrorSpec_
/**
* Create a new `HybridHaptikaCardiacMirrorSpec_cxx` that wraps the given `HybridHaptikaCardiacMirrorSpec`.
* All properties and methods bridge to C++ types.
*/
public init(_ implementation: any HybridHaptikaCardiacMirrorSpec) {
self.__implementation = implementation
self.__cxxPart = .init()
/* no base class */
}
/**
* Get the actual `HybridHaptikaCardiacMirrorSpec` instance this class wraps.
*/
@inline(__always)
public func getHybridHaptikaCardiacMirrorSpec() -> any HybridHaptikaCardiacMirrorSpec {
return __implementation
}
/**
* Casts this instance to a retained unsafe raw pointer.
* This acquires one additional strong reference on the object!
*/
public func toUnsafe() -> UnsafeMutableRawPointer {
return Unmanaged.passRetained(self).toOpaque()
}
/**
* Casts an unsafe pointer to a `HybridHaptikaCardiacMirrorSpec_cxx`.
* The pointer has to be a retained opaque `Unmanaged<HybridHaptikaCardiacMirrorSpec_cxx>`.
* This removes one strong reference from the object!
*/
public class func fromUnsafe(_ pointer: UnsafeMutableRawPointer) -> HybridHaptikaCardiacMirrorSpec_cxx {
return Unmanaged<HybridHaptikaCardiacMirrorSpec_cxx>.fromOpaque(pointer).takeRetainedValue()
}
/**
* Gets (or creates) the C++ part of this Hybrid Object.
* The C++ part is a `std::shared_ptr<HybridHaptikaCardiacMirrorSpec>`.
*/
public func getCxxPart() -> bridge.std__shared_ptr_HybridHaptikaCardiacMirrorSpec_ {
let cachedCxxPart = self.__cxxPart.lock()
if Bool(fromCxx: cachedCxxPart) {
return cachedCxxPart
} else {
let newCxxPart = bridge.create_std__shared_ptr_HybridHaptikaCardiacMirrorSpec_(self.toUnsafe())
__cxxPart = bridge.weakify_std__shared_ptr_HybridHaptikaCardiacMirrorSpec_(newCxxPart)
return newCxxPart
}
}
/**
* Get the memory size of the Swift class (plus size of any other allocations)
* so the JS VM can properly track it and garbage-collect the JS object if needed.
*/
@inline(__always)
public var memorySize: Int {
return MemoryHelper.getSizeOf(self.__implementation) + self.__implementation.memorySize
}
/**
* Compares this object with the given [other] object for reference equality.
*/
@inline(__always)
public func equals(other: HybridHaptikaCardiacMirrorSpec_cxx) -> Bool {
return self.__implementation === other.__implementation
}
/**
* Call dispose() on the Swift class.
* This _may_ be called manually from JS.
*/
@inline(__always)
public func dispose() {
self.__implementation.dispose()
}
/**
* Call toString() on the Swift class.
*/
@inline(__always)
public func toString() -> String {
return self.__implementation.toString()
}
// Properties
// Methods
@inline(__always)
public final func isSupported() -> bridge.Result_bool_ {
do {
let __result = try self.__implementation.isSupported()
let __resultCpp = __result
return bridge.create_Result_bool_(__resultCpp)
} catch (let __error) {
let __exceptionPtr = __error.toCpp()
return bridge.create_Result_bool_(__exceptionPtr)
}
}
@inline(__always)
public final func patternInfo() -> bridge.Result_NativeCardiacMirrorPatternInfo_ {
do {
let __result = try self.__implementation.patternInfo()
let __resultCpp = __result
return bridge.create_Result_NativeCardiacMirrorPatternInfo_(__resultCpp)
} catch (let __error) {
let __exceptionPtr = __error.toCpp()
return bridge.create_Result_NativeCardiacMirrorPatternInfo_(__exceptionPtr)
}
}
@inline(__always)
public final func start(targetBpm: Double) -> bridge.Result_void_ {
do {
try self.__implementation.start(targetBpm: targetBpm)
return bridge.create_Result_void_()
} catch (let __error) {
let __exceptionPtr = __error.toCpp()
return bridge.create_Result_void_(__exceptionPtr)
}
}
@inline(__always)
public final func pulse() -> bridge.Result_void_ {
do {
try self.__implementation.pulse()
return bridge.create_Result_void_()
} catch (let __error) {
let __exceptionPtr = __error.toCpp()
return bridge.create_Result_void_(__exceptionPtr)
}
}
@inline(__always)
public final func stop() -> bridge.Result_void_ {
do {
try self.__implementation.stop()
return bridge.create_Result_void_()
} catch (let __error) {
let __exceptionPtr = __error.toCpp()
return bridge.create_Result_void_(__exceptionPtr)
}
}
@inline(__always)
public final func startWatchSession() -> bridge.Result_void_ {
do {
try self.__implementation.startWatchSession()
return bridge.create_Result_void_()
} catch (let __error) {
let __exceptionPtr = __error.toCpp()
return bridge.create_Result_void_(__exceptionPtr)
}
}
@inline(__always)
public final func watchReachable() -> bridge.Result_bool_ {
do {
let __result = try self.__implementation.watchReachable()
let __resultCpp = __result
return bridge.create_Result_bool_(__resultCpp)
} catch (let __error) {
let __exceptionPtr = __error.toCpp()
return bridge.create_Result_bool_(__exceptionPtr)
}
}
@inline(__always)
public final func latestHeartbeat() -> bridge.Result_std__optional_NativeCardiacMirrorHeartbeat__ {
do {
let __result = try self.__implementation.latestHeartbeat()
let __resultCpp = { () -> bridge.std__optional_NativeCardiacMirrorHeartbeat_ in
if let __unwrappedValue = __result {
return bridge.create_std__optional_NativeCardiacMirrorHeartbeat_(__unwrappedValue)
} else {
return .init()
}
}()
return bridge.create_Result_std__optional_NativeCardiacMirrorHeartbeat__(__resultCpp)
} catch (let __error) {
let __exceptionPtr = __error.toCpp()
return bridge.create_Result_std__optional_NativeCardiacMirrorHeartbeat__(__exceptionPtr)
}
}
@inline(__always)
public final func playRegulationProtocol(kind: std.string) -> bridge.Result_double_ {
do {
let __result = try self.__implementation.playRegulationProtocol(kind: String(kind))
let __resultCpp = __result
return bridge.create_Result_double_(__resultCpp)
} catch (let __error) {
let __exceptionPtr = __error.toCpp()
return bridge.create_Result_double_(__exceptionPtr)
}
}
@inline(__always)
public final func stopRegulationProtocol() -> bridge.Result_void_ {
do {
try self.__implementation.stopRegulationProtocol()
return bridge.create_Result_void_()
} catch (let __error) {
let __exceptionPtr = __error.toCpp()
return bridge.create_Result_void_(__exceptionPtr)
}
}
}