From 2465070ce52d649f1feb8fe7fe1a6382cc7705b8 Mon Sep 17 00:00:00 2001 From: Joe Heck Date: Thu, 4 Apr 2024 10:58:09 -0700 Subject: [PATCH] updating release to 0.5.12 --- AutomergeUniffi/automerge.swift | 1454 ++++++++--------- Package.swift | 4 +- .../_CAutomergeUniffi/include/automergeFFI.h | 1013 ++++++++++-- 3 files changed, 1591 insertions(+), 880 deletions(-) diff --git a/AutomergeUniffi/automerge.swift b/AutomergeUniffi/automerge.swift index 698707ea..6ced7cbd 100644 --- a/AutomergeUniffi/automerge.swift +++ b/AutomergeUniffi/automerge.swift @@ -1,5 +1,7 @@ // This file was autogenerated by some hot garbage in the `uniffi` crate. // Trust me, you don't want to mess with it! + +// swiftlint:disable all import Foundation // Depending on the consumer's build setup, the low-level FFI code @@ -18,6 +20,10 @@ private extension RustBuffer { self.init(capacity: rbuf.capacity, len: rbuf.len, data: rbuf.data) } + static func empty() -> RustBuffer { + RustBuffer(capacity: 0, len: 0, data: nil) + } + static func from(_ ptr: UnsafeBufferPointer) -> RustBuffer { try! rustCall { ffi_uniffi_automerge_rustbuffer_from_bytes(ForeignBytes(bufferPointer: ptr), $0) } } @@ -221,9 +227,17 @@ private enum UniffiInternalError: LocalizedError { } } +private extension NSLock { + func withLock(f: () throws -> T) rethrows -> T { + lock() + defer { self.unlock() } + return try f() + } +} + private let CALL_SUCCESS: Int8 = 0 private let CALL_ERROR: Int8 = 1 -private let CALL_PANIC: Int8 = 2 +private let CALL_UNEXPECTED_ERROR: Int8 = 2 private let CALL_CANCELLED: Int8 = 3 private extension RustCallStatus { @@ -277,7 +291,7 @@ private func uniffiCheckCallStatus( throw UniffiInternalError.unexpectedRustCallError } - case CALL_PANIC: + case CALL_UNEXPECTED_ERROR: // When the rust code sees a panic, it tries to construct a RustBuffer // with the message. But if that code panics, then it just sends back // an empty buffer. @@ -296,6 +310,74 @@ private func uniffiCheckCallStatus( } } +private func uniffiTraitInterfaceCall( + callStatus: UnsafeMutablePointer, + makeCall: () throws -> T, + writeReturn: (T) -> Void +) { + do { + try writeReturn(makeCall()) + } catch { + callStatus.pointee.code = CALL_UNEXPECTED_ERROR + callStatus.pointee.errorBuf = FfiConverterString.lower(String(describing: error)) + } +} + +private func uniffiTraitInterfaceCallWithError( + callStatus: UnsafeMutablePointer, + makeCall: () throws -> T, + writeReturn: (T) -> Void, + lowerError: (E) -> RustBuffer +) { + do { + try writeReturn(makeCall()) + } catch let error as E { + callStatus.pointee.code = CALL_ERROR + callStatus.pointee.errorBuf = lowerError(error) + } catch { + callStatus.pointee.code = CALL_UNEXPECTED_ERROR + callStatus.pointee.errorBuf = FfiConverterString.lower(String(describing: error)) + } +} + +private class UniffiHandleMap { + private var map: [UInt64: T] = [:] + private let lock = NSLock() + private var currentHandle: UInt64 = 1 + + func insert(obj: T) -> UInt64 { + lock.withLock { + let handle = currentHandle + currentHandle += 1 + map[handle] = obj + return handle + } + } + + func get(handle: UInt64) throws -> T { + try lock.withLock { + guard let obj = map[handle] else { + throw UniffiInternalError.unexpectedStaleHandle + } + return obj + } + } + + @discardableResult + func remove(handle: UInt64) throws -> T { + try lock.withLock { + guard let obj = map.removeValue(forKey: handle) else { + throw UniffiInternalError.unexpectedStaleHandle + } + return obj + } + } + + var count: Int { + map.count + } +} + // Public interface members begin here. private struct FfiConverterUInt8: FfiConverterPrimitive { @@ -527,34 +609,57 @@ public protocol DocProtocol: AnyObject { func valuesAt(obj: ObjId, heads: [ChangeHash]) throws -> [Value] } -public class Doc: +open class Doc: DocProtocol { - fileprivate let pointer: UnsafeMutableRawPointer + fileprivate let pointer: UnsafeMutableRawPointer! + + /// Used to instantiate a [FFIObject] without an actual pointer, for fakes in tests, mostly. + public struct NoPointer { + public init() {} + } // TODO: We'd like this to be `private` but for Swifty reasons, // we can't implement `FfiConverter` without making this `required` and we can't // make it `required` without making it `public`. - required init(unsafeFromRawPointer pointer: UnsafeMutableRawPointer) { + public required init(unsafeFromRawPointer pointer: UnsafeMutableRawPointer) { self.pointer = pointer } + /// This constructor can be used to instantiate a fake object. + /// - Parameter noPointer: Placeholder value so we can have a constructor separate from the default empty one that + /// may be implemented for classes extending [FFIObject]. + /// + /// - Warning: + /// Any object instantiated with this constructor cannot be passed to an actual Rust-backed object. Since there + /// isn't a backing [Pointer] the FFI lower functions will crash. + public init(noPointer _: NoPointer) { + pointer = nil + } + public func uniffiClonePointer() -> UnsafeMutableRawPointer { try! rustCall { uniffi_uniffi_automerge_fn_clone_doc(self.pointer, $0) } } public convenience init() { - self.init(unsafeFromRawPointer: try! rustCall { - uniffi_uniffi_automerge_fn_constructor_doc_new($0) - }) + let pointer = try! rustCall { + uniffi_uniffi_automerge_fn_constructor_doc_new( + $0 + ) + } + self.init(unsafeFromRawPointer: pointer) } deinit { + guard let pointer = pointer else { + return + } + try! rustCall { uniffi_uniffi_automerge_fn_free_doc(pointer, $0) } } public static func load(bytes: [UInt8]) throws -> Doc { - try Doc(unsafeFromRawPointer: rustCallWithError(FfiConverterTypeLoadError.lift) { + try FfiConverterTypeDoc.lift(rustCallWithError(FfiConverterTypeLoadError.lift) { uniffi_uniffi_automerge_fn_constructor_doc_load( FfiConverterSequenceUInt8.lower(bytes), $0 ) @@ -562,508 +667,397 @@ public class Doc: } public static func newWithActor(actor: ActorId) -> Doc { - Doc(unsafeFromRawPointer: try! rustCall { + try! FfiConverterTypeDoc.lift(try! rustCall { uniffi_uniffi_automerge_fn_constructor_doc_new_with_actor( FfiConverterTypeActorId.lower(actor), $0 ) }) } - public func actorId() -> ActorId { - try! FfiConverterTypeActorId.lift( - try! - rustCall { - uniffi_uniffi_automerge_fn_method_doc_actor_id( - self.uniffiClonePointer(), - $0 - ) - } - ) - } - - public func applyEncodedChanges(changes: [UInt8]) throws { - try - rustCallWithError(FfiConverterTypeDocError.lift) { - uniffi_uniffi_automerge_fn_method_doc_apply_encoded_changes( - self.uniffiClonePointer(), - - FfiConverterSequenceUInt8.lower(changes), - $0 - ) - } + open func actorId() -> ActorId { + try! FfiConverterTypeActorId.lift(try! rustCall { + uniffi_uniffi_automerge_fn_method_doc_actor_id( + self.uniffiClonePointer(), + $0 + ) + }) } - public func applyEncodedChangesWithPatches(changes: [UInt8]) throws -> [Patch] { - try FfiConverterSequenceTypePatch.lift( - rustCallWithError(FfiConverterTypeDocError.lift) { - uniffi_uniffi_automerge_fn_method_doc_apply_encoded_changes_with_patches( - self.uniffiClonePointer(), - - FfiConverterSequenceUInt8.lower(changes), - $0 - ) - } + open func applyEncodedChanges(changes: [UInt8]) throws { try rustCallWithError(FfiConverterTypeDocError.lift) { + uniffi_uniffi_automerge_fn_method_doc_apply_encoded_changes( + self.uniffiClonePointer(), + FfiConverterSequenceUInt8.lower(changes), + $0 ) } - - public func changeByHash(hash: ChangeHash) -> Change? { - try! FfiConverterOptionTypeChange.lift( - try! - rustCall { - uniffi_uniffi_automerge_fn_method_doc_change_by_hash( - self.uniffiClonePointer(), - - FfiConverterTypeChangeHash.lower(hash), - $0 - ) - } - ) } - public func changes() -> [ChangeHash] { - try! FfiConverterSequenceTypeChangeHash.lift( - try! - rustCall { - uniffi_uniffi_automerge_fn_method_doc_changes( - self.uniffiClonePointer(), - $0 - ) - } - ) + open func applyEncodedChangesWithPatches(changes: [UInt8]) throws -> [Patch] { + try FfiConverterSequenceTypePatch.lift(rustCallWithError(FfiConverterTypeDocError.lift) { + uniffi_uniffi_automerge_fn_method_doc_apply_encoded_changes_with_patches( + self.uniffiClonePointer(), + FfiConverterSequenceUInt8.lower(changes), + $0 + ) + }) } - public func commitWith(msg: String?, time: Int64) { - try! - rustCall { - uniffi_uniffi_automerge_fn_method_doc_commit_with( - self.uniffiClonePointer(), - - FfiConverterOptionString.lower(msg), - FfiConverterInt64.lower(time), - $0 - ) - } + open func changeByHash(hash: ChangeHash) -> Change? { + try! FfiConverterOptionTypeChange.lift(try! rustCall { + uniffi_uniffi_automerge_fn_method_doc_change_by_hash( + self.uniffiClonePointer(), + FfiConverterTypeChangeHash.lower(hash), + $0 + ) + }) } - public func cursor(obj: ObjId, position: UInt64) throws -> Cursor { - try FfiConverterTypeCursor.lift( - rustCallWithError(FfiConverterTypeDocError.lift) { - uniffi_uniffi_automerge_fn_method_doc_cursor( - self.uniffiClonePointer(), - - FfiConverterTypeObjId.lower(obj), - FfiConverterUInt64.lower(position), - $0 - ) - } - ) + open func changes() -> [ChangeHash] { + try! FfiConverterSequenceTypeChangeHash.lift(try! rustCall { + uniffi_uniffi_automerge_fn_method_doc_changes( + self.uniffiClonePointer(), + $0 + ) + }) } - public func cursorAt(obj: ObjId, position: UInt64, heads: [ChangeHash]) throws -> Cursor { - try FfiConverterTypeCursor.lift( - rustCallWithError(FfiConverterTypeDocError.lift) { - uniffi_uniffi_automerge_fn_method_doc_cursor_at( - self.uniffiClonePointer(), - - FfiConverterTypeObjId.lower(obj), - FfiConverterUInt64.lower(position), - FfiConverterSequenceTypeChangeHash.lower(heads), - $0 - ) - } + open func commitWith(msg: String?, time: Int64) { try! rustCall { + uniffi_uniffi_automerge_fn_method_doc_commit_with( + self.uniffiClonePointer(), + FfiConverterOptionString.lower(msg), + FfiConverterInt64.lower(time), + $0 ) } - - public func cursorPosition(obj: ObjId, cursor: Cursor) throws -> UInt64 { - try FfiConverterUInt64.lift( - rustCallWithError(FfiConverterTypeDocError.lift) { - uniffi_uniffi_automerge_fn_method_doc_cursor_position( - self.uniffiClonePointer(), - - FfiConverterTypeObjId.lower(obj), - FfiConverterTypeCursor.lower(cursor), - $0 - ) - } - ) } - public func cursorPositionAt(obj: ObjId, cursor: Cursor, heads: [ChangeHash]) throws -> UInt64 { - try FfiConverterUInt64.lift( - rustCallWithError(FfiConverterTypeDocError.lift) { - uniffi_uniffi_automerge_fn_method_doc_cursor_position_at( - self.uniffiClonePointer(), - - FfiConverterTypeObjId.lower(obj), - FfiConverterTypeCursor.lower(cursor), - FfiConverterSequenceTypeChangeHash.lower(heads), - $0 - ) - } - ) + open func cursor(obj: ObjId, position: UInt64) throws -> Cursor { + try FfiConverterTypeCursor.lift(rustCallWithError(FfiConverterTypeDocError.lift) { + uniffi_uniffi_automerge_fn_method_doc_cursor( + self.uniffiClonePointer(), + FfiConverterTypeObjId.lower(obj), + FfiConverterUInt64.lower(position), + $0 + ) + }) } - public func deleteInList(obj: ObjId, index: UInt64) throws { - try - rustCallWithError(FfiConverterTypeDocError.lift) { - uniffi_uniffi_automerge_fn_method_doc_delete_in_list( - self.uniffiClonePointer(), - - FfiConverterTypeObjId.lower(obj), - FfiConverterUInt64.lower(index), - $0 - ) - } + open func cursorAt(obj: ObjId, position: UInt64, heads: [ChangeHash]) throws -> Cursor { + try FfiConverterTypeCursor.lift(rustCallWithError(FfiConverterTypeDocError.lift) { + uniffi_uniffi_automerge_fn_method_doc_cursor_at( + self.uniffiClonePointer(), + FfiConverterTypeObjId.lower(obj), + FfiConverterUInt64.lower(position), + FfiConverterSequenceTypeChangeHash.lower(heads), + $0 + ) + }) } - public func deleteInMap(obj: ObjId, key: String) throws { - try - rustCallWithError(FfiConverterTypeDocError.lift) { - uniffi_uniffi_automerge_fn_method_doc_delete_in_map( - self.uniffiClonePointer(), - - FfiConverterTypeObjId.lower(obj), - FfiConverterString.lower(key), - $0 - ) - } + open func cursorPosition(obj: ObjId, cursor: Cursor) throws -> UInt64 { + try FfiConverterUInt64.lift(rustCallWithError(FfiConverterTypeDocError.lift) { + uniffi_uniffi_automerge_fn_method_doc_cursor_position( + self.uniffiClonePointer(), + FfiConverterTypeObjId.lower(obj), + FfiConverterTypeCursor.lower(cursor), + $0 + ) + }) } - public func encodeChangesSince(heads: [ChangeHash]) throws -> [UInt8] { - try FfiConverterSequenceUInt8.lift( - rustCallWithError(FfiConverterTypeDocError.lift) { - uniffi_uniffi_automerge_fn_method_doc_encode_changes_since( - self.uniffiClonePointer(), - - FfiConverterSequenceTypeChangeHash.lower(heads), - $0 - ) - } - ) + open func cursorPositionAt(obj: ObjId, cursor: Cursor, heads: [ChangeHash]) throws -> UInt64 { + try FfiConverterUInt64.lift(rustCallWithError(FfiConverterTypeDocError.lift) { + uniffi_uniffi_automerge_fn_method_doc_cursor_position_at( + self.uniffiClonePointer(), + FfiConverterTypeObjId.lower(obj), + FfiConverterTypeCursor.lower(cursor), + FfiConverterSequenceTypeChangeHash.lower(heads), + $0 + ) + }) } - public func encodeNewChanges() -> [UInt8] { - try! FfiConverterSequenceUInt8.lift( - try! - rustCall { - uniffi_uniffi_automerge_fn_method_doc_encode_new_changes( - self.uniffiClonePointer(), - $0 - ) - } + open func deleteInList(obj: ObjId, index: UInt64) throws { try rustCallWithError(FfiConverterTypeDocError.lift) { + uniffi_uniffi_automerge_fn_method_doc_delete_in_list( + self.uniffiClonePointer(), + FfiConverterTypeObjId.lower(obj), + FfiConverterUInt64.lower(index), + $0 ) } - - public func fork() -> Doc { - try! FfiConverterTypeDoc.lift( - try! - rustCall { - uniffi_uniffi_automerge_fn_method_doc_fork( - self.uniffiClonePointer(), - $0 - ) - } - ) } - public func forkAt(heads: [ChangeHash]) throws -> Doc { - try FfiConverterTypeDoc.lift( - rustCallWithError(FfiConverterTypeDocError.lift) { - uniffi_uniffi_automerge_fn_method_doc_fork_at( - self.uniffiClonePointer(), - - FfiConverterSequenceTypeChangeHash.lower(heads), - $0 - ) - } + open func deleteInMap(obj: ObjId, key: String) throws { try rustCallWithError(FfiConverterTypeDocError.lift) { + uniffi_uniffi_automerge_fn_method_doc_delete_in_map( + self.uniffiClonePointer(), + FfiConverterTypeObjId.lower(obj), + FfiConverterString.lower(key), + $0 ) } - - public func generateSyncMessage(state: SyncState) -> [UInt8]? { - try! FfiConverterOptionSequenceUInt8.lift( - try! - rustCall { - uniffi_uniffi_automerge_fn_method_doc_generate_sync_message( - self.uniffiClonePointer(), - - FfiConverterTypeSyncState.lower(state), - $0 - ) - } - ) } - public func getAllAtInList(obj: ObjId, index: UInt64, heads: [ChangeHash]) throws -> [Value] { - try FfiConverterSequenceTypeValue.lift( - rustCallWithError(FfiConverterTypeDocError.lift) { - uniffi_uniffi_automerge_fn_method_doc_get_all_at_in_list( - self.uniffiClonePointer(), - - FfiConverterTypeObjId.lower(obj), - FfiConverterUInt64.lower(index), - FfiConverterSequenceTypeChangeHash.lower(heads), - $0 - ) - } - ) + open func encodeChangesSince(heads: [ChangeHash]) throws -> [UInt8] { + try FfiConverterSequenceUInt8.lift(rustCallWithError(FfiConverterTypeDocError.lift) { + uniffi_uniffi_automerge_fn_method_doc_encode_changes_since( + self.uniffiClonePointer(), + FfiConverterSequenceTypeChangeHash.lower(heads), + $0 + ) + }) } - public func getAllAtInMap(obj: ObjId, key: String, heads: [ChangeHash]) throws -> [Value] { - try FfiConverterSequenceTypeValue.lift( - rustCallWithError(FfiConverterTypeDocError.lift) { - uniffi_uniffi_automerge_fn_method_doc_get_all_at_in_map( - self.uniffiClonePointer(), - - FfiConverterTypeObjId.lower(obj), - FfiConverterString.lower(key), - FfiConverterSequenceTypeChangeHash.lower(heads), - $0 - ) - } - ) + open func encodeNewChanges() -> [UInt8] { + try! FfiConverterSequenceUInt8.lift(try! rustCall { + uniffi_uniffi_automerge_fn_method_doc_encode_new_changes( + self.uniffiClonePointer(), + $0 + ) + }) } - public func getAllInList(obj: ObjId, index: UInt64) throws -> [Value] { - try FfiConverterSequenceTypeValue.lift( - rustCallWithError(FfiConverterTypeDocError.lift) { - uniffi_uniffi_automerge_fn_method_doc_get_all_in_list( - self.uniffiClonePointer(), - - FfiConverterTypeObjId.lower(obj), - FfiConverterUInt64.lower(index), - $0 - ) - } - ) + open func fork() -> Doc { + try! FfiConverterTypeDoc.lift(try! rustCall { + uniffi_uniffi_automerge_fn_method_doc_fork( + self.uniffiClonePointer(), + $0 + ) + }) } - public func getAllInMap(obj: ObjId, key: String) throws -> [Value] { - try FfiConverterSequenceTypeValue.lift( - rustCallWithError(FfiConverterTypeDocError.lift) { - uniffi_uniffi_automerge_fn_method_doc_get_all_in_map( - self.uniffiClonePointer(), - - FfiConverterTypeObjId.lower(obj), - FfiConverterString.lower(key), - $0 - ) - } - ) + open func forkAt(heads: [ChangeHash]) throws -> Doc { + try FfiConverterTypeDoc.lift(rustCallWithError(FfiConverterTypeDocError.lift) { + uniffi_uniffi_automerge_fn_method_doc_fork_at( + self.uniffiClonePointer(), + FfiConverterSequenceTypeChangeHash.lower(heads), + $0 + ) + }) } - public func getAtInList(obj: ObjId, index: UInt64, heads: [ChangeHash]) throws -> Value? { - try FfiConverterOptionTypeValue.lift( - rustCallWithError(FfiConverterTypeDocError.lift) { - uniffi_uniffi_automerge_fn_method_doc_get_at_in_list( - self.uniffiClonePointer(), - - FfiConverterTypeObjId.lower(obj), - FfiConverterUInt64.lower(index), - FfiConverterSequenceTypeChangeHash.lower(heads), - $0 - ) - } - ) + open func generateSyncMessage(state: SyncState) -> [UInt8]? { + try! FfiConverterOptionSequenceUInt8.lift(try! rustCall { + uniffi_uniffi_automerge_fn_method_doc_generate_sync_message( + self.uniffiClonePointer(), + FfiConverterTypeSyncState.lower(state), + $0 + ) + }) } - public func getAtInMap(obj: ObjId, key: String, heads: [ChangeHash]) throws -> Value? { - try FfiConverterOptionTypeValue.lift( - rustCallWithError(FfiConverterTypeDocError.lift) { - uniffi_uniffi_automerge_fn_method_doc_get_at_in_map( - self.uniffiClonePointer(), - - FfiConverterTypeObjId.lower(obj), - FfiConverterString.lower(key), - FfiConverterSequenceTypeChangeHash.lower(heads), - $0 - ) - } - ) + open func getAllAtInList(obj: ObjId, index: UInt64, heads: [ChangeHash]) throws -> [Value] { + try FfiConverterSequenceTypeValue.lift(rustCallWithError(FfiConverterTypeDocError.lift) { + uniffi_uniffi_automerge_fn_method_doc_get_all_at_in_list( + self.uniffiClonePointer(), + FfiConverterTypeObjId.lower(obj), + FfiConverterUInt64.lower(index), + FfiConverterSequenceTypeChangeHash.lower(heads), + $0 + ) + }) } - public func getInList(obj: ObjId, index: UInt64) throws -> Value? { - try FfiConverterOptionTypeValue.lift( - rustCallWithError(FfiConverterTypeDocError.lift) { - uniffi_uniffi_automerge_fn_method_doc_get_in_list( - self.uniffiClonePointer(), - - FfiConverterTypeObjId.lower(obj), - FfiConverterUInt64.lower(index), - $0 - ) - } - ) + open func getAllAtInMap(obj: ObjId, key: String, heads: [ChangeHash]) throws -> [Value] { + try FfiConverterSequenceTypeValue.lift(rustCallWithError(FfiConverterTypeDocError.lift) { + uniffi_uniffi_automerge_fn_method_doc_get_all_at_in_map( + self.uniffiClonePointer(), + FfiConverterTypeObjId.lower(obj), + FfiConverterString.lower(key), + FfiConverterSequenceTypeChangeHash.lower(heads), + $0 + ) + }) } - public func getInMap(obj: ObjId, key: String) throws -> Value? { - try FfiConverterOptionTypeValue.lift( - rustCallWithError(FfiConverterTypeDocError.lift) { - uniffi_uniffi_automerge_fn_method_doc_get_in_map( - self.uniffiClonePointer(), - - FfiConverterTypeObjId.lower(obj), - FfiConverterString.lower(key), - $0 - ) - } - ) + open func getAllInList(obj: ObjId, index: UInt64) throws -> [Value] { + try FfiConverterSequenceTypeValue.lift(rustCallWithError(FfiConverterTypeDocError.lift) { + uniffi_uniffi_automerge_fn_method_doc_get_all_in_list( + self.uniffiClonePointer(), + FfiConverterTypeObjId.lower(obj), + FfiConverterUInt64.lower(index), + $0 + ) + }) } - public func heads() -> [ChangeHash] { - try! FfiConverterSequenceTypeChangeHash.lift( - try! - rustCall { - uniffi_uniffi_automerge_fn_method_doc_heads( - self.uniffiClonePointer(), - $0 - ) - } - ) + open func getAllInMap(obj: ObjId, key: String) throws -> [Value] { + try FfiConverterSequenceTypeValue.lift(rustCallWithError(FfiConverterTypeDocError.lift) { + uniffi_uniffi_automerge_fn_method_doc_get_all_in_map( + self.uniffiClonePointer(), + FfiConverterTypeObjId.lower(obj), + FfiConverterString.lower(key), + $0 + ) + }) } - public func incrementInList(obj: ObjId, index: UInt64, by: Int64) throws { - try - rustCallWithError(FfiConverterTypeDocError.lift) { - uniffi_uniffi_automerge_fn_method_doc_increment_in_list( - self.uniffiClonePointer(), - - FfiConverterTypeObjId.lower(obj), - FfiConverterUInt64.lower(index), - FfiConverterInt64.lower(by), - $0 - ) - } + open func getAtInList(obj: ObjId, index: UInt64, heads: [ChangeHash]) throws -> Value? { + try FfiConverterOptionTypeValue.lift(rustCallWithError(FfiConverterTypeDocError.lift) { + uniffi_uniffi_automerge_fn_method_doc_get_at_in_list( + self.uniffiClonePointer(), + FfiConverterTypeObjId.lower(obj), + FfiConverterUInt64.lower(index), + FfiConverterSequenceTypeChangeHash.lower(heads), + $0 + ) + }) } - public func incrementInMap(obj: ObjId, key: String, by: Int64) throws { - try - rustCallWithError(FfiConverterTypeDocError.lift) { - uniffi_uniffi_automerge_fn_method_doc_increment_in_map( - self.uniffiClonePointer(), - - FfiConverterTypeObjId.lower(obj), - FfiConverterString.lower(key), - FfiConverterInt64.lower(by), - $0 - ) - } + open func getAtInMap(obj: ObjId, key: String, heads: [ChangeHash]) throws -> Value? { + try FfiConverterOptionTypeValue.lift(rustCallWithError(FfiConverterTypeDocError.lift) { + uniffi_uniffi_automerge_fn_method_doc_get_at_in_map( + self.uniffiClonePointer(), + FfiConverterTypeObjId.lower(obj), + FfiConverterString.lower(key), + FfiConverterSequenceTypeChangeHash.lower(heads), + $0 + ) + }) } - public func insertInList(obj: ObjId, index: UInt64, value: ScalarValue) throws { - try - rustCallWithError(FfiConverterTypeDocError.lift) { - uniffi_uniffi_automerge_fn_method_doc_insert_in_list( - self.uniffiClonePointer(), - - FfiConverterTypeObjId.lower(obj), - FfiConverterUInt64.lower(index), - FfiConverterTypeScalarValue.lower(value), - $0 - ) - } + open func getInList(obj: ObjId, index: UInt64) throws -> Value? { + try FfiConverterOptionTypeValue.lift(rustCallWithError(FfiConverterTypeDocError.lift) { + uniffi_uniffi_automerge_fn_method_doc_get_in_list( + self.uniffiClonePointer(), + FfiConverterTypeObjId.lower(obj), + FfiConverterUInt64.lower(index), + $0 + ) + }) } - public func insertObjectInList(obj: ObjId, index: UInt64, objType: ObjType) throws -> ObjId { - try FfiConverterTypeObjId.lift( - rustCallWithError(FfiConverterTypeDocError.lift) { - uniffi_uniffi_automerge_fn_method_doc_insert_object_in_list( - self.uniffiClonePointer(), - - FfiConverterTypeObjId.lower(obj), - FfiConverterUInt64.lower(index), - FfiConverterTypeObjType.lower(objType), - $0 - ) - } - ) + open func getInMap(obj: ObjId, key: String) throws -> Value? { + try FfiConverterOptionTypeValue.lift(rustCallWithError(FfiConverterTypeDocError.lift) { + uniffi_uniffi_automerge_fn_method_doc_get_in_map( + self.uniffiClonePointer(), + FfiConverterTypeObjId.lower(obj), + FfiConverterString.lower(key), + $0 + ) + }) } - public func length(obj: ObjId) -> UInt64 { - try! FfiConverterUInt64.lift( - try! - rustCall { - uniffi_uniffi_automerge_fn_method_doc_length( - self.uniffiClonePointer(), - - FfiConverterTypeObjId.lower(obj), - $0 - ) - } - ) + open func heads() -> [ChangeHash] { + try! FfiConverterSequenceTypeChangeHash.lift(try! rustCall { + uniffi_uniffi_automerge_fn_method_doc_heads( + self.uniffiClonePointer(), + $0 + ) + }) } - public func lengthAt(obj: ObjId, heads: [ChangeHash]) -> UInt64 { - try! FfiConverterUInt64.lift( - try! - rustCall { - uniffi_uniffi_automerge_fn_method_doc_length_at( - self.uniffiClonePointer(), + open func incrementInList(obj: ObjId, index: UInt64, by: Int64) throws { + try rustCallWithError(FfiConverterTypeDocError.lift) { + uniffi_uniffi_automerge_fn_method_doc_increment_in_list( + self.uniffiClonePointer(), + FfiConverterTypeObjId.lower(obj), + FfiConverterUInt64.lower(index), + FfiConverterInt64.lower(by), + $0 + ) + } + } - FfiConverterTypeObjId.lower(obj), - FfiConverterSequenceTypeChangeHash.lower(heads), - $0 - ) - } - ) + open func incrementInMap(obj: ObjId, key: String, by: Int64) throws { + try rustCallWithError(FfiConverterTypeDocError.lift) { + uniffi_uniffi_automerge_fn_method_doc_increment_in_map( + self.uniffiClonePointer(), + FfiConverterTypeObjId.lower(obj), + FfiConverterString.lower(key), + FfiConverterInt64.lower(by), + $0 + ) + } } - public func mapEntries(obj: ObjId) throws -> [KeyValue] { - try FfiConverterSequenceTypeKeyValue.lift( - rustCallWithError(FfiConverterTypeDocError.lift) { - uniffi_uniffi_automerge_fn_method_doc_map_entries( - self.uniffiClonePointer(), + open func insertInList(obj: ObjId, index: UInt64, value: ScalarValue) throws { + try rustCallWithError(FfiConverterTypeDocError.lift) { + uniffi_uniffi_automerge_fn_method_doc_insert_in_list( + self.uniffiClonePointer(), + FfiConverterTypeObjId.lower(obj), + FfiConverterUInt64.lower(index), + FfiConverterTypeScalarValue.lower(value), + $0 + ) + } + } - FfiConverterTypeObjId.lower(obj), - $0 - ) - } - ) + open func insertObjectInList(obj: ObjId, index: UInt64, objType: ObjType) throws -> ObjId { + try FfiConverterTypeObjId.lift(rustCallWithError(FfiConverterTypeDocError.lift) { + uniffi_uniffi_automerge_fn_method_doc_insert_object_in_list( + self.uniffiClonePointer(), + FfiConverterTypeObjId.lower(obj), + FfiConverterUInt64.lower(index), + FfiConverterTypeObjType.lower(objType), + $0 + ) + }) } - public func mapEntriesAt(obj: ObjId, heads: [ChangeHash]) throws -> [KeyValue] { - try FfiConverterSequenceTypeKeyValue.lift( - rustCallWithError(FfiConverterTypeDocError.lift) { - uniffi_uniffi_automerge_fn_method_doc_map_entries_at( - self.uniffiClonePointer(), + open func length(obj: ObjId) -> UInt64 { + try! FfiConverterUInt64.lift(try! rustCall { + uniffi_uniffi_automerge_fn_method_doc_length( + self.uniffiClonePointer(), + FfiConverterTypeObjId.lower(obj), + $0 + ) + }) + } - FfiConverterTypeObjId.lower(obj), - FfiConverterSequenceTypeChangeHash.lower(heads), - $0 - ) - } - ) + open func lengthAt(obj: ObjId, heads: [ChangeHash]) -> UInt64 { + try! FfiConverterUInt64.lift(try! rustCall { + uniffi_uniffi_automerge_fn_method_doc_length_at( + self.uniffiClonePointer(), + FfiConverterTypeObjId.lower(obj), + FfiConverterSequenceTypeChangeHash.lower(heads), + $0 + ) + }) } - public func mapKeys(obj: ObjId) -> [String] { - try! FfiConverterSequenceString.lift( - try! - rustCall { - uniffi_uniffi_automerge_fn_method_doc_map_keys( - self.uniffiClonePointer(), + open func mapEntries(obj: ObjId) throws -> [KeyValue] { + try FfiConverterSequenceTypeKeyValue.lift(rustCallWithError(FfiConverterTypeDocError.lift) { + uniffi_uniffi_automerge_fn_method_doc_map_entries( + self.uniffiClonePointer(), + FfiConverterTypeObjId.lower(obj), + $0 + ) + }) + } - FfiConverterTypeObjId.lower(obj), - $0 - ) - } - ) + open func mapEntriesAt(obj: ObjId, heads: [ChangeHash]) throws -> [KeyValue] { + try FfiConverterSequenceTypeKeyValue.lift(rustCallWithError(FfiConverterTypeDocError.lift) { + uniffi_uniffi_automerge_fn_method_doc_map_entries_at( + self.uniffiClonePointer(), + FfiConverterTypeObjId.lower(obj), + FfiConverterSequenceTypeChangeHash.lower(heads), + $0 + ) + }) } - public func mapKeysAt(obj: ObjId, heads: [ChangeHash]) -> [String] { - try! FfiConverterSequenceString.lift( - try! - rustCall { - uniffi_uniffi_automerge_fn_method_doc_map_keys_at( - self.uniffiClonePointer(), + open func mapKeys(obj: ObjId) -> [String] { + try! FfiConverterSequenceString.lift(try! rustCall { + uniffi_uniffi_automerge_fn_method_doc_map_keys( + self.uniffiClonePointer(), + FfiConverterTypeObjId.lower(obj), + $0 + ) + }) + } - FfiConverterTypeObjId.lower(obj), - FfiConverterSequenceTypeChangeHash.lower(heads), - $0 - ) - } - ) + open func mapKeysAt(obj: ObjId, heads: [ChangeHash]) -> [String] { + try! FfiConverterSequenceString.lift(try! rustCall { + uniffi_uniffi_automerge_fn_method_doc_map_keys_at( + self.uniffiClonePointer(), + FfiConverterTypeObjId.lower(obj), + FfiConverterSequenceTypeChangeHash.lower(heads), + $0 + ) + }) } - public func mark( + open func mark( obj: ObjId, start: UInt64, end: UInt64, @@ -1071,305 +1065,244 @@ public class Doc: name: String, value: ScalarValue ) throws { - try - rustCallWithError(FfiConverterTypeDocError.lift) { - uniffi_uniffi_automerge_fn_method_doc_mark( - self.uniffiClonePointer(), - - FfiConverterTypeObjId.lower(obj), - FfiConverterUInt64.lower(start), - FfiConverterUInt64.lower(end), - FfiConverterTypeExpandMark.lower(expand), - FfiConverterString.lower(name), - FfiConverterTypeScalarValue.lower(value), - $0 - ) - } + try rustCallWithError(FfiConverterTypeDocError.lift) { + uniffi_uniffi_automerge_fn_method_doc_mark( + self.uniffiClonePointer(), + FfiConverterTypeObjId.lower(obj), + FfiConverterUInt64.lower(start), + FfiConverterUInt64.lower(end), + FfiConverterTypeExpandMark.lower(expand), + FfiConverterString.lower(name), + FfiConverterTypeScalarValue.lower(value), + $0 + ) + } } - public func marks(obj: ObjId) throws -> [Mark] { - try FfiConverterSequenceTypeMark.lift( - rustCallWithError(FfiConverterTypeDocError.lift) { - uniffi_uniffi_automerge_fn_method_doc_marks( - self.uniffiClonePointer(), - - FfiConverterTypeObjId.lower(obj), - $0 - ) - } - ) + open func marks(obj: ObjId) throws -> [Mark] { + try FfiConverterSequenceTypeMark.lift(rustCallWithError(FfiConverterTypeDocError.lift) { + uniffi_uniffi_automerge_fn_method_doc_marks( + self.uniffiClonePointer(), + FfiConverterTypeObjId.lower(obj), + $0 + ) + }) } - public func marksAt(obj: ObjId, heads: [ChangeHash]) throws -> [Mark] { - try FfiConverterSequenceTypeMark.lift( - rustCallWithError(FfiConverterTypeDocError.lift) { - uniffi_uniffi_automerge_fn_method_doc_marks_at( - self.uniffiClonePointer(), + open func marksAt(obj: ObjId, heads: [ChangeHash]) throws -> [Mark] { + try FfiConverterSequenceTypeMark.lift(rustCallWithError(FfiConverterTypeDocError.lift) { + uniffi_uniffi_automerge_fn_method_doc_marks_at( + self.uniffiClonePointer(), + FfiConverterTypeObjId.lower(obj), + FfiConverterSequenceTypeChangeHash.lower(heads), + $0 + ) + }) + } - FfiConverterTypeObjId.lower(obj), - FfiConverterSequenceTypeChangeHash.lower(heads), - $0 - ) - } + open func merge(other: Doc) throws { try rustCallWithError(FfiConverterTypeDocError.lift) { + uniffi_uniffi_automerge_fn_method_doc_merge( + self.uniffiClonePointer(), + FfiConverterTypeDoc.lower(other), + $0 ) } - - public func merge(other: Doc) throws { - try - rustCallWithError(FfiConverterTypeDocError.lift) { - uniffi_uniffi_automerge_fn_method_doc_merge( - self.uniffiClonePointer(), - - FfiConverterTypeDoc.lower(other), - $0 - ) - } } - public func mergeWithPatches(other: Doc) throws -> [Patch] { - try FfiConverterSequenceTypePatch.lift( - rustCallWithError(FfiConverterTypeDocError.lift) { - uniffi_uniffi_automerge_fn_method_doc_merge_with_patches( - self.uniffiClonePointer(), - - FfiConverterTypeDoc.lower(other), - $0 - ) - } - ) + open func mergeWithPatches(other: Doc) throws -> [Patch] { + try FfiConverterSequenceTypePatch.lift(rustCallWithError(FfiConverterTypeDocError.lift) { + uniffi_uniffi_automerge_fn_method_doc_merge_with_patches( + self.uniffiClonePointer(), + FfiConverterTypeDoc.lower(other), + $0 + ) + }) } - public func objectType(obj: ObjId) -> ObjType { - try! FfiConverterTypeObjType.lift( - try! - rustCall { - uniffi_uniffi_automerge_fn_method_doc_object_type( - self.uniffiClonePointer(), - - FfiConverterTypeObjId.lower(obj), - $0 - ) - } - ) + open func objectType(obj: ObjId) -> ObjType { + try! FfiConverterTypeObjType.lift(try! rustCall { + uniffi_uniffi_automerge_fn_method_doc_object_type( + self.uniffiClonePointer(), + FfiConverterTypeObjId.lower(obj), + $0 + ) + }) } - public func path(obj: ObjId) throws -> [PathElement] { - try FfiConverterSequenceTypePathElement.lift( - rustCallWithError(FfiConverterTypeDocError.lift) { - uniffi_uniffi_automerge_fn_method_doc_path( - self.uniffiClonePointer(), - - FfiConverterTypeObjId.lower(obj), - $0 - ) - } - ) + open func path(obj: ObjId) throws -> [PathElement] { + try FfiConverterSequenceTypePathElement.lift(rustCallWithError(FfiConverterTypeDocError.lift) { + uniffi_uniffi_automerge_fn_method_doc_path( + self.uniffiClonePointer(), + FfiConverterTypeObjId.lower(obj), + $0 + ) + }) } - public func putInList(obj: ObjId, index: UInt64, value: ScalarValue) throws { - try - rustCallWithError(FfiConverterTypeDocError.lift) { - uniffi_uniffi_automerge_fn_method_doc_put_in_list( - self.uniffiClonePointer(), - - FfiConverterTypeObjId.lower(obj), - FfiConverterUInt64.lower(index), - FfiConverterTypeScalarValue.lower(value), - $0 - ) - } + open func putInList(obj: ObjId, index: UInt64, value: ScalarValue) throws { + try rustCallWithError(FfiConverterTypeDocError.lift) { + uniffi_uniffi_automerge_fn_method_doc_put_in_list( + self.uniffiClonePointer(), + FfiConverterTypeObjId.lower(obj), + FfiConverterUInt64.lower(index), + FfiConverterTypeScalarValue.lower(value), + $0 + ) + } } - public func putInMap(obj: ObjId, key: String, value: ScalarValue) throws { - try - rustCallWithError(FfiConverterTypeDocError.lift) { - uniffi_uniffi_automerge_fn_method_doc_put_in_map( - self.uniffiClonePointer(), - - FfiConverterTypeObjId.lower(obj), - FfiConverterString.lower(key), - FfiConverterTypeScalarValue.lower(value), - $0 - ) - } + open func putInMap(obj: ObjId, key: String, value: ScalarValue) throws { + try rustCallWithError(FfiConverterTypeDocError.lift) { + uniffi_uniffi_automerge_fn_method_doc_put_in_map( + self.uniffiClonePointer(), + FfiConverterTypeObjId.lower(obj), + FfiConverterString.lower(key), + FfiConverterTypeScalarValue.lower(value), + $0 + ) + } } - public func putObjectInList(obj: ObjId, index: UInt64, objType: ObjType) throws -> ObjId { - try FfiConverterTypeObjId.lift( - rustCallWithError(FfiConverterTypeDocError.lift) { - uniffi_uniffi_automerge_fn_method_doc_put_object_in_list( - self.uniffiClonePointer(), - - FfiConverterTypeObjId.lower(obj), - FfiConverterUInt64.lower(index), - FfiConverterTypeObjType.lower(objType), - $0 - ) - } - ) + open func putObjectInList(obj: ObjId, index: UInt64, objType: ObjType) throws -> ObjId { + try FfiConverterTypeObjId.lift(rustCallWithError(FfiConverterTypeDocError.lift) { + uniffi_uniffi_automerge_fn_method_doc_put_object_in_list( + self.uniffiClonePointer(), + FfiConverterTypeObjId.lower(obj), + FfiConverterUInt64.lower(index), + FfiConverterTypeObjType.lower(objType), + $0 + ) + }) } - public func putObjectInMap(obj: ObjId, key: String, objType: ObjType) throws -> ObjId { - try FfiConverterTypeObjId.lift( - rustCallWithError(FfiConverterTypeDocError.lift) { - uniffi_uniffi_automerge_fn_method_doc_put_object_in_map( - self.uniffiClonePointer(), - - FfiConverterTypeObjId.lower(obj), - FfiConverterString.lower(key), - FfiConverterTypeObjType.lower(objType), - $0 - ) - } - ) + open func putObjectInMap(obj: ObjId, key: String, objType: ObjType) throws -> ObjId { + try FfiConverterTypeObjId.lift(rustCallWithError(FfiConverterTypeDocError.lift) { + uniffi_uniffi_automerge_fn_method_doc_put_object_in_map( + self.uniffiClonePointer(), + FfiConverterTypeObjId.lower(obj), + FfiConverterString.lower(key), + FfiConverterTypeObjType.lower(objType), + $0 + ) + }) } - public func receiveSyncMessage(state: SyncState, msg: [UInt8]) throws { - try - rustCallWithError(FfiConverterTypeReceiveSyncError.lift) { - uniffi_uniffi_automerge_fn_method_doc_receive_sync_message( - self.uniffiClonePointer(), - - FfiConverterTypeSyncState.lower(state), - FfiConverterSequenceUInt8.lower(msg), - $0 - ) - } + open func receiveSyncMessage(state: SyncState, msg: [UInt8]) throws { + try rustCallWithError(FfiConverterTypeReceiveSyncError.lift) { + uniffi_uniffi_automerge_fn_method_doc_receive_sync_message( + self.uniffiClonePointer(), + FfiConverterTypeSyncState.lower(state), + FfiConverterSequenceUInt8.lower(msg), + $0 + ) + } } - public func receiveSyncMessageWithPatches(state: SyncState, msg: [UInt8]) throws -> [Patch] { - try FfiConverterSequenceTypePatch.lift( - rustCallWithError(FfiConverterTypeReceiveSyncError.lift) { - uniffi_uniffi_automerge_fn_method_doc_receive_sync_message_with_patches( - self.uniffiClonePointer(), + open func receiveSyncMessageWithPatches(state: SyncState, msg: [UInt8]) throws -> [Patch] { + try FfiConverterSequenceTypePatch.lift(rustCallWithError(FfiConverterTypeReceiveSyncError.lift) { + uniffi_uniffi_automerge_fn_method_doc_receive_sync_message_with_patches( + self.uniffiClonePointer(), + FfiConverterTypeSyncState.lower(state), + FfiConverterSequenceUInt8.lower(msg), + $0 + ) + }) + } - FfiConverterTypeSyncState.lower(state), - FfiConverterSequenceUInt8.lower(msg), - $0 - ) - } - ) + open func save() -> [UInt8] { + try! FfiConverterSequenceUInt8.lift(try! rustCall { + uniffi_uniffi_automerge_fn_method_doc_save( + self.uniffiClonePointer(), + $0 + ) + }) } - public func save() -> [UInt8] { - try! FfiConverterSequenceUInt8.lift( - try! - rustCall { - uniffi_uniffi_automerge_fn_method_doc_save( - self.uniffiClonePointer(), - $0 - ) - } + open func setActor(actor: ActorId) { try! rustCall { + uniffi_uniffi_automerge_fn_method_doc_set_actor( + self.uniffiClonePointer(), + FfiConverterTypeActorId.lower(actor), + $0 ) } - - public func setActor(actor: ActorId) { - try! - rustCall { - uniffi_uniffi_automerge_fn_method_doc_set_actor( - self.uniffiClonePointer(), - - FfiConverterTypeActorId.lower(actor), - $0 - ) - } } - public func splice(obj: ObjId, start: UInt64, delete: Int64, values: [ScalarValue]) throws { - try - rustCallWithError(FfiConverterTypeDocError.lift) { - uniffi_uniffi_automerge_fn_method_doc_splice( - self.uniffiClonePointer(), - - FfiConverterTypeObjId.lower(obj), - FfiConverterUInt64.lower(start), - FfiConverterInt64.lower(delete), - FfiConverterSequenceTypeScalarValue.lower(values), - $0 - ) - } + open func splice(obj: ObjId, start: UInt64, delete: Int64, values: [ScalarValue]) throws { + try rustCallWithError(FfiConverterTypeDocError.lift) { + uniffi_uniffi_automerge_fn_method_doc_splice( + self.uniffiClonePointer(), + FfiConverterTypeObjId.lower(obj), + FfiConverterUInt64.lower(start), + FfiConverterInt64.lower(delete), + FfiConverterSequenceTypeScalarValue.lower(values), + $0 + ) + } } - public func spliceText(obj: ObjId, start: UInt64, delete: Int64, chars: String) throws { - try - rustCallWithError(FfiConverterTypeDocError.lift) { - uniffi_uniffi_automerge_fn_method_doc_splice_text( - self.uniffiClonePointer(), - - FfiConverterTypeObjId.lower(obj), - FfiConverterUInt64.lower(start), - FfiConverterInt64.lower(delete), - FfiConverterString.lower(chars), - $0 - ) - } + open func spliceText(obj: ObjId, start: UInt64, delete: Int64, chars: String) throws { + try rustCallWithError(FfiConverterTypeDocError.lift) { + uniffi_uniffi_automerge_fn_method_doc_splice_text( + self.uniffiClonePointer(), + FfiConverterTypeObjId.lower(obj), + FfiConverterUInt64.lower(start), + FfiConverterInt64.lower(delete), + FfiConverterString.lower(chars), + $0 + ) + } } - public func text(obj: ObjId) throws -> String { - try FfiConverterString.lift( - rustCallWithError(FfiConverterTypeDocError.lift) { - uniffi_uniffi_automerge_fn_method_doc_text( - self.uniffiClonePointer(), - - FfiConverterTypeObjId.lower(obj), - $0 - ) - } - ) + open func text(obj: ObjId) throws -> String { + try FfiConverterString.lift(rustCallWithError(FfiConverterTypeDocError.lift) { + uniffi_uniffi_automerge_fn_method_doc_text( + self.uniffiClonePointer(), + FfiConverterTypeObjId.lower(obj), + $0 + ) + }) } - public func textAt(obj: ObjId, heads: [ChangeHash]) throws -> String { - try FfiConverterString.lift( - rustCallWithError(FfiConverterTypeDocError.lift) { - uniffi_uniffi_automerge_fn_method_doc_text_at( - self.uniffiClonePointer(), + open func textAt(obj: ObjId, heads: [ChangeHash]) throws -> String { + try FfiConverterString.lift(rustCallWithError(FfiConverterTypeDocError.lift) { + uniffi_uniffi_automerge_fn_method_doc_text_at( + self.uniffiClonePointer(), + FfiConverterTypeObjId.lower(obj), + FfiConverterSequenceTypeChangeHash.lower(heads), + $0 + ) + }) + } - FfiConverterTypeObjId.lower(obj), - FfiConverterSequenceTypeChangeHash.lower(heads), - $0 - ) - } + open func updateText(obj: ObjId, chars: String) throws { try rustCallWithError(FfiConverterTypeDocError.lift) { + uniffi_uniffi_automerge_fn_method_doc_update_text( + self.uniffiClonePointer(), + FfiConverterTypeObjId.lower(obj), + FfiConverterString.lower(chars), + $0 ) } - - public func updateText(obj: ObjId, chars: String) throws { - try - rustCallWithError(FfiConverterTypeDocError.lift) { - uniffi_uniffi_automerge_fn_method_doc_update_text( - self.uniffiClonePointer(), - - FfiConverterTypeObjId.lower(obj), - FfiConverterString.lower(chars), - $0 - ) - } } - public func values(obj: ObjId) throws -> [Value] { - try FfiConverterSequenceTypeValue.lift( - rustCallWithError(FfiConverterTypeDocError.lift) { - uniffi_uniffi_automerge_fn_method_doc_values( - self.uniffiClonePointer(), - - FfiConverterTypeObjId.lower(obj), - $0 - ) - } - ) + open func values(obj: ObjId) throws -> [Value] { + try FfiConverterSequenceTypeValue.lift(rustCallWithError(FfiConverterTypeDocError.lift) { + uniffi_uniffi_automerge_fn_method_doc_values( + self.uniffiClonePointer(), + FfiConverterTypeObjId.lower(obj), + $0 + ) + }) } - public func valuesAt(obj: ObjId, heads: [ChangeHash]) throws -> [Value] { - try FfiConverterSequenceTypeValue.lift( - rustCallWithError(FfiConverterTypeDocError.lift) { - uniffi_uniffi_automerge_fn_method_doc_values_at( - self.uniffiClonePointer(), - - FfiConverterTypeObjId.lower(obj), - FfiConverterSequenceTypeChangeHash.lower(heads), - $0 - ) - } - ) + open func valuesAt(obj: ObjId, heads: [ChangeHash]) throws -> [Value] { + try FfiConverterSequenceTypeValue.lift(rustCallWithError(FfiConverterTypeDocError.lift) { + uniffi_uniffi_automerge_fn_method_doc_values_at( + self.uniffiClonePointer(), + FfiConverterTypeObjId.lower(obj), + FfiConverterSequenceTypeChangeHash.lower(heads), + $0 + ) + }) } } @@ -1419,72 +1352,87 @@ public protocol SyncStateProtocol: AnyObject { func theirHeads() -> [ChangeHash]? } -public class SyncState: +open class SyncState: SyncStateProtocol { - fileprivate let pointer: UnsafeMutableRawPointer + fileprivate let pointer: UnsafeMutableRawPointer! + + /// Used to instantiate a [FFIObject] without an actual pointer, for fakes in tests, mostly. + public struct NoPointer { + public init() {} + } // TODO: We'd like this to be `private` but for Swifty reasons, // we can't implement `FfiConverter` without making this `required` and we can't // make it `required` without making it `public`. - required init(unsafeFromRawPointer pointer: UnsafeMutableRawPointer) { + public required init(unsafeFromRawPointer pointer: UnsafeMutableRawPointer) { self.pointer = pointer } + /// This constructor can be used to instantiate a fake object. + /// - Parameter noPointer: Placeholder value so we can have a constructor separate from the default empty one that + /// may be implemented for classes extending [FFIObject]. + /// + /// - Warning: + /// Any object instantiated with this constructor cannot be passed to an actual Rust-backed object. Since there + /// isn't a backing [Pointer] the FFI lower functions will crash. + public init(noPointer _: NoPointer) { + pointer = nil + } + public func uniffiClonePointer() -> UnsafeMutableRawPointer { try! rustCall { uniffi_uniffi_automerge_fn_clone_syncstate(self.pointer, $0) } } public convenience init() { - self.init(unsafeFromRawPointer: try! rustCall { - uniffi_uniffi_automerge_fn_constructor_syncstate_new($0) - }) + let pointer = try! rustCall { + uniffi_uniffi_automerge_fn_constructor_syncstate_new( + $0 + ) + } + self.init(unsafeFromRawPointer: pointer) } deinit { + guard let pointer = pointer else { + return + } + try! rustCall { uniffi_uniffi_automerge_fn_free_syncstate(pointer, $0) } } public static func decode(bytes: [UInt8]) throws -> SyncState { - try SyncState(unsafeFromRawPointer: rustCallWithError(FfiConverterTypeDecodeSyncStateError.lift) { + try FfiConverterTypeSyncState.lift(rustCallWithError(FfiConverterTypeDecodeSyncStateError.lift) { uniffi_uniffi_automerge_fn_constructor_syncstate_decode( FfiConverterSequenceUInt8.lower(bytes), $0 ) }) } - public func encode() -> [UInt8] { - try! FfiConverterSequenceUInt8.lift( - try! - rustCall { - uniffi_uniffi_automerge_fn_method_syncstate_encode( - self.uniffiClonePointer(), - $0 - ) - } - ) + open func encode() -> [UInt8] { + try! FfiConverterSequenceUInt8.lift(try! rustCall { + uniffi_uniffi_automerge_fn_method_syncstate_encode( + self.uniffiClonePointer(), + $0 + ) + }) } - public func reset() { - try! - rustCall { - uniffi_uniffi_automerge_fn_method_syncstate_reset( - self.uniffiClonePointer(), - $0 - ) - } + open func reset() { try! rustCall { + uniffi_uniffi_automerge_fn_method_syncstate_reset( + self.uniffiClonePointer(), + $0 + ) + } } - public func theirHeads() -> [ChangeHash]? { - try! FfiConverterOptionSequenceTypeChangeHash.lift( - try! - rustCall { - uniffi_uniffi_automerge_fn_method_syncstate_their_heads( - self.uniffiClonePointer(), - $0 - ) - } - ) + open func theirHeads() -> [ChangeHash]? { + try! FfiConverterOptionSequenceTypeChangeHash.lift(try! rustCall { + uniffi_uniffi_automerge_fn_method_syncstate_their_heads( + self.uniffiClonePointer(), + $0 + ) + }) } } @@ -1622,10 +1570,7 @@ public struct KeyValue { // Default memberwise initializers are never public by default, so we // declare one manually. - public init( - key: String, - value: Value - ) { + public init(key: String, value: Value) { self.key = key self.value = value } @@ -1678,12 +1623,7 @@ public struct Mark { // Default memberwise initializers are never public by default, so we // declare one manually. - public init( - start: UInt64, - end: UInt64, - name: String, - value: Value - ) { + public init(start: UInt64, end: UInt64, name: String, value: Value) { self.start = start self.end = end self.name = name @@ -1748,10 +1688,7 @@ public struct Patch { // Default memberwise initializers are never public by default, so we // declare one manually. - public init( - path: [PathElement], - action: PatchAction - ) { + public init(path: [PathElement], action: PatchAction) { self.path = path self.action = action } @@ -1802,10 +1739,7 @@ public struct PathElement { // Default memberwise initializers are never public by default, so we // declare one manually. - public init( - prop: Prop, - obj: ObjId - ) { + public init(prop: Prop, obj: ObjId) { self.prop = prop self.obj = obj } @@ -1852,10 +1786,6 @@ public func FfiConverterTypePathElement_lower(_ value: PathElement) -> RustBuffe public enum DecodeSyncStateError { case Internal(message: String) - - fileprivate static func uniffiErrorHandler(_ error: RustBuffer) throws -> Error { - try FfiConverterTypeDecodeSyncStateError.lift(error) - } } public struct FfiConverterTypeDecodeSyncStateError: FfiConverterRustBuffer { @@ -1888,10 +1818,6 @@ public enum DocError { case WrongObjectType(message: String) case Internal(message: String) - - fileprivate static func uniffiErrorHandler(_ error: RustBuffer) throws -> Error { - try FfiConverterTypeDocError.lift(error) - } } public struct FfiConverterTypeDocError: FfiConverterRustBuffer { @@ -1928,6 +1854,7 @@ extension DocError: Error {} // Note that we don't yet support `indirect` for enums. // See https://github.com/mozilla/uniffi-rs/issues/396 for further discussion. + public enum ExpandMark { case before case after @@ -1982,10 +1909,6 @@ extension ExpandMark: Equatable, Hashable {} public enum LoadError { case Internal(message: String) - - fileprivate static func uniffiErrorHandler(_ error: RustBuffer) throws -> Error { - try FfiConverterTypeLoadError.lift(error) - } } public struct FfiConverterTypeLoadError: FfiConverterRustBuffer { @@ -2016,6 +1939,7 @@ extension LoadError: Error {} // Note that we don't yet support `indirect` for enums. // See https://github.com/mozilla/uniffi-rs/issues/396 for further discussion. + public enum ObjType { case map case list @@ -2064,6 +1988,7 @@ extension ObjType: Equatable, Hashable {} // Note that we don't yet support `indirect` for enums. // See https://github.com/mozilla/uniffi-rs/issues/396 for further discussion. + public enum PatchAction { case put( obj: ObjId, @@ -2227,6 +2152,7 @@ extension PatchAction: Equatable, Hashable {} // Note that we don't yet support `indirect` for enums. // See https://github.com/mozilla/uniffi-rs/issues/396 for further discussion. + public enum Prop { case key( value: String @@ -2281,10 +2207,6 @@ public enum ReceiveSyncError { case Internal(message: String) case InvalidMessage(message: String) - - fileprivate static func uniffiErrorHandler(_ error: RustBuffer) throws -> Error { - try FfiConverterTypeReceiveSyncError.lift(error) - } } public struct FfiConverterTypeReceiveSyncError: FfiConverterRustBuffer { @@ -2321,6 +2243,7 @@ extension ReceiveSyncError: Error {} // Note that we don't yet support `indirect` for enums. // See https://github.com/mozilla/uniffi-rs/issues/396 for further discussion. + public enum ScalarValue { case bytes( value: [UInt8] @@ -2459,6 +2382,7 @@ extension ScalarValue: Equatable, Hashable {} // Note that we don't yet support `indirect` for enums. // See https://github.com/mozilla/uniffi-rs/issues/396 for further discussion. + public enum Value { case object( typ: ObjType, @@ -2963,11 +2887,11 @@ public func FfiConverterTypeObjId_lower(_ value: ObjId) -> RustBuffer { } public func root() -> ObjId { - try! FfiConverterTypeObjId.lift( - try! rustCall { - uniffi_uniffi_automerge_fn_func_root($0) - } - ) + try! FfiConverterTypeObjId.lift(try! rustCall { + uniffi_uniffi_automerge_fn_func_root( + $0 + ) + }) } private enum InitializationResult { @@ -2980,7 +2904,7 @@ private enum InitializationResult { // the code inside is only computed once. private var initializationResult: InitializationResult { // Get the bindings contract version from our ComponentInterface - let bindings_contract_version = 25 + let bindings_contract_version = 26 // Get the scaffolding contract version by calling the into the dylib let scaffolding_contract_version = ffi_uniffi_automerge_uniffi_contract_version() if bindings_contract_version != scaffolding_contract_version { @@ -3172,19 +3096,19 @@ private var initializationResult: InitializationResult { if uniffi_uniffi_automerge_checksum_method_syncstate_their_heads() != 39870 { return InitializationResult.apiChecksumMismatch } - if uniffi_uniffi_automerge_checksum_constructor_doc_load() != 5984 { + if uniffi_uniffi_automerge_checksum_constructor_doc_load() != 20048 { return InitializationResult.apiChecksumMismatch } - if uniffi_uniffi_automerge_checksum_constructor_doc_new() != 9159 { + if uniffi_uniffi_automerge_checksum_constructor_doc_new() != 9447 { return InitializationResult.apiChecksumMismatch } - if uniffi_uniffi_automerge_checksum_constructor_doc_new_with_actor() != 21827 { + if uniffi_uniffi_automerge_checksum_constructor_doc_new_with_actor() != 21001 { return InitializationResult.apiChecksumMismatch } - if uniffi_uniffi_automerge_checksum_constructor_syncstate_decode() != 29619 { + if uniffi_uniffi_automerge_checksum_constructor_syncstate_decode() != 17966 { return InitializationResult.apiChecksumMismatch } - if uniffi_uniffi_automerge_checksum_constructor_syncstate_new() != 59265 { + if uniffi_uniffi_automerge_checksum_constructor_syncstate_new() != 37569 { return InitializationResult.apiChecksumMismatch } @@ -3201,3 +3125,5 @@ private func uniffiEnsureInitialized() { fatalError("UniFFI API checksum mismatch: try cleaning and rebuilding your project") } } + +// swiftlint:enable all diff --git a/Package.swift b/Package.swift index 8f593bec..856fec9d 100644 --- a/Package.swift +++ b/Package.swift @@ -57,8 +57,8 @@ if ProcessInfo.processInfo.environment["LOCAL_BUILD"] != nil { } else { FFIbinaryTarget = .binaryTarget( name: "automergeFFI", - url: "https://github.com/automerge/automerge-swift/releases/download/0.5.11/automergeFFI.xcframework.zip", - checksum: "ee8c34da93ed5b4299d59a30135d35c171beeb8c8a7155682bd87eeda695411e" + url: "https://github.com/automerge/automerge-swift/releases/download/0.5.12/automergeFFI.xcframework.zip", + checksum: "f48301a59bc9203b78cacdbbbf7dd5420487284ee26845e90181ff8eb1cb5ef4" ) } diff --git a/Sources/_CAutomergeUniffi/include/automergeFFI.h b/Sources/_CAutomergeUniffi/include/automergeFFI.h index 8839d382..4b01c685 100644 --- a/Sources/_CAutomergeUniffi/include/automergeFFI.h +++ b/Sources/_CAutomergeUniffi/include/automergeFFI.h @@ -24,13 +24,11 @@ typedef struct RustBuffer { - int32_t capacity; - int32_t len; + uint64_t capacity; + uint64_t len; uint8_t *_Nullable data; } RustBuffer; -typedef int32_t (*ForeignCallback)(uint64_t, int32_t, const uint8_t *_Nonnull, int32_t, RustBuffer *_Nonnull); - typedef struct ForeignBytes { int32_t len; @@ -46,470 +44,1257 @@ typedef struct RustCallStatus { // ⚠️ Attention: If you change this #else block (ending in `#endif // def UNIFFI_SHARED_H`) you *must* ⚠️ // ⚠️ increment the version suffix in all instances of UNIFFI_SHARED_HEADER_V4 in this file. ⚠️ #endif // def UNIFFI_SHARED_H +#ifndef UNIFFI_FFIDEF_RUST_FUTURE_CONTINUATION_CALLBACK +#define UNIFFI_FFIDEF_RUST_FUTURE_CONTINUATION_CALLBACK +typedef void (*UniffiRustFutureContinuationCallback)(uint64_t, int8_t + ); + +#endif +#ifndef UNIFFI_FFIDEF_FOREIGN_FUTURE_FREE +#define UNIFFI_FFIDEF_FOREIGN_FUTURE_FREE +typedef void (*UniffiForeignFutureFree)(uint64_t + ); + +#endif +#ifndef UNIFFI_FFIDEF_CALLBACK_INTERFACE_FREE +#define UNIFFI_FFIDEF_CALLBACK_INTERFACE_FREE +typedef void (*UniffiCallbackInterfaceFree)(uint64_t + ); + +#endif +#ifndef UNIFFI_FFIDEF_FOREIGN_FUTURE +#define UNIFFI_FFIDEF_FOREIGN_FUTURE +typedef struct UniffiForeignFuture { + uint64_t handle; + UniffiForeignFutureFree _Nonnull free; +} UniffiForeignFuture; + +#endif +#ifndef UNIFFI_FFIDEF_FOREIGN_FUTURE_STRUCT_U8 +#define UNIFFI_FFIDEF_FOREIGN_FUTURE_STRUCT_U8 +typedef struct UniffiForeignFutureStructU8 { + uint8_t returnValue; + RustCallStatus callStatus; +} UniffiForeignFutureStructU8; + +#endif +#ifndef UNIFFI_FFIDEF_FOREIGN_FUTURE_COMPLETE_U8 +#define UNIFFI_FFIDEF_FOREIGN_FUTURE_COMPLETE_U8 +typedef void (*UniffiForeignFutureCompleteU8)(uint64_t, UniffiForeignFutureStructU8 + ); + +#endif +#ifndef UNIFFI_FFIDEF_FOREIGN_FUTURE_STRUCT_I8 +#define UNIFFI_FFIDEF_FOREIGN_FUTURE_STRUCT_I8 +typedef struct UniffiForeignFutureStructI8 { + int8_t returnValue; + RustCallStatus callStatus; +} UniffiForeignFutureStructI8; + +#endif +#ifndef UNIFFI_FFIDEF_FOREIGN_FUTURE_COMPLETE_I8 +#define UNIFFI_FFIDEF_FOREIGN_FUTURE_COMPLETE_I8 +typedef void (*UniffiForeignFutureCompleteI8)(uint64_t, UniffiForeignFutureStructI8 + ); + +#endif +#ifndef UNIFFI_FFIDEF_FOREIGN_FUTURE_STRUCT_U16 +#define UNIFFI_FFIDEF_FOREIGN_FUTURE_STRUCT_U16 +typedef struct UniffiForeignFutureStructU16 { + uint16_t returnValue; + RustCallStatus callStatus; +} UniffiForeignFutureStructU16; + +#endif +#ifndef UNIFFI_FFIDEF_FOREIGN_FUTURE_COMPLETE_U16 +#define UNIFFI_FFIDEF_FOREIGN_FUTURE_COMPLETE_U16 +typedef void (*UniffiForeignFutureCompleteU16)(uint64_t, UniffiForeignFutureStructU16 + ); + +#endif +#ifndef UNIFFI_FFIDEF_FOREIGN_FUTURE_STRUCT_I16 +#define UNIFFI_FFIDEF_FOREIGN_FUTURE_STRUCT_I16 +typedef struct UniffiForeignFutureStructI16 { + int16_t returnValue; + RustCallStatus callStatus; +} UniffiForeignFutureStructI16; + +#endif +#ifndef UNIFFI_FFIDEF_FOREIGN_FUTURE_COMPLETE_I16 +#define UNIFFI_FFIDEF_FOREIGN_FUTURE_COMPLETE_I16 +typedef void (*UniffiForeignFutureCompleteI16)(uint64_t, UniffiForeignFutureStructI16 + ); + +#endif +#ifndef UNIFFI_FFIDEF_FOREIGN_FUTURE_STRUCT_U32 +#define UNIFFI_FFIDEF_FOREIGN_FUTURE_STRUCT_U32 +typedef struct UniffiForeignFutureStructU32 { + uint32_t returnValue; + RustCallStatus callStatus; +} UniffiForeignFutureStructU32; + +#endif +#ifndef UNIFFI_FFIDEF_FOREIGN_FUTURE_COMPLETE_U32 +#define UNIFFI_FFIDEF_FOREIGN_FUTURE_COMPLETE_U32 +typedef void (*UniffiForeignFutureCompleteU32)(uint64_t, UniffiForeignFutureStructU32 + ); + +#endif +#ifndef UNIFFI_FFIDEF_FOREIGN_FUTURE_STRUCT_I32 +#define UNIFFI_FFIDEF_FOREIGN_FUTURE_STRUCT_I32 +typedef struct UniffiForeignFutureStructI32 { + int32_t returnValue; + RustCallStatus callStatus; +} UniffiForeignFutureStructI32; + +#endif +#ifndef UNIFFI_FFIDEF_FOREIGN_FUTURE_COMPLETE_I32 +#define UNIFFI_FFIDEF_FOREIGN_FUTURE_COMPLETE_I32 +typedef void (*UniffiForeignFutureCompleteI32)(uint64_t, UniffiForeignFutureStructI32 + ); + +#endif +#ifndef UNIFFI_FFIDEF_FOREIGN_FUTURE_STRUCT_U64 +#define UNIFFI_FFIDEF_FOREIGN_FUTURE_STRUCT_U64 +typedef struct UniffiForeignFutureStructU64 { + uint64_t returnValue; + RustCallStatus callStatus; +} UniffiForeignFutureStructU64; + +#endif +#ifndef UNIFFI_FFIDEF_FOREIGN_FUTURE_COMPLETE_U64 +#define UNIFFI_FFIDEF_FOREIGN_FUTURE_COMPLETE_U64 +typedef void (*UniffiForeignFutureCompleteU64)(uint64_t, UniffiForeignFutureStructU64 + ); + +#endif +#ifndef UNIFFI_FFIDEF_FOREIGN_FUTURE_STRUCT_I64 +#define UNIFFI_FFIDEF_FOREIGN_FUTURE_STRUCT_I64 +typedef struct UniffiForeignFutureStructI64 { + int64_t returnValue; + RustCallStatus callStatus; +} UniffiForeignFutureStructI64; + +#endif +#ifndef UNIFFI_FFIDEF_FOREIGN_FUTURE_COMPLETE_I64 +#define UNIFFI_FFIDEF_FOREIGN_FUTURE_COMPLETE_I64 +typedef void (*UniffiForeignFutureCompleteI64)(uint64_t, UniffiForeignFutureStructI64 + ); -// Continuation callback for UniFFI Futures -typedef void (*UniFfiRustFutureContinuation)(void * _Nonnull, int8_t); +#endif +#ifndef UNIFFI_FFIDEF_FOREIGN_FUTURE_STRUCT_F32 +#define UNIFFI_FFIDEF_FOREIGN_FUTURE_STRUCT_F32 +typedef struct UniffiForeignFutureStructF32 { + float returnValue; + RustCallStatus callStatus; +} UniffiForeignFutureStructF32; -// Scaffolding functions +#endif +#ifndef UNIFFI_FFIDEF_FOREIGN_FUTURE_COMPLETE_F32 +#define UNIFFI_FFIDEF_FOREIGN_FUTURE_COMPLETE_F32 +typedef void (*UniffiForeignFutureCompleteF32)(uint64_t, UniffiForeignFutureStructF32 + ); + +#endif +#ifndef UNIFFI_FFIDEF_FOREIGN_FUTURE_STRUCT_F64 +#define UNIFFI_FFIDEF_FOREIGN_FUTURE_STRUCT_F64 +typedef struct UniffiForeignFutureStructF64 { + double returnValue; + RustCallStatus callStatus; +} UniffiForeignFutureStructF64; + +#endif +#ifndef UNIFFI_FFIDEF_FOREIGN_FUTURE_COMPLETE_F64 +#define UNIFFI_FFIDEF_FOREIGN_FUTURE_COMPLETE_F64 +typedef void (*UniffiForeignFutureCompleteF64)(uint64_t, UniffiForeignFutureStructF64 + ); + +#endif +#ifndef UNIFFI_FFIDEF_FOREIGN_FUTURE_STRUCT_POINTER +#define UNIFFI_FFIDEF_FOREIGN_FUTURE_STRUCT_POINTER +typedef struct UniffiForeignFutureStructPointer { + void*_Nonnull returnValue; + RustCallStatus callStatus; +} UniffiForeignFutureStructPointer; + +#endif +#ifndef UNIFFI_FFIDEF_FOREIGN_FUTURE_COMPLETE_POINTER +#define UNIFFI_FFIDEF_FOREIGN_FUTURE_COMPLETE_POINTER +typedef void (*UniffiForeignFutureCompletePointer)(uint64_t, UniffiForeignFutureStructPointer + ); + +#endif +#ifndef UNIFFI_FFIDEF_FOREIGN_FUTURE_STRUCT_RUST_BUFFER +#define UNIFFI_FFIDEF_FOREIGN_FUTURE_STRUCT_RUST_BUFFER +typedef struct UniffiForeignFutureStructRustBuffer { + RustBuffer returnValue; + RustCallStatus callStatus; +} UniffiForeignFutureStructRustBuffer; + +#endif +#ifndef UNIFFI_FFIDEF_FOREIGN_FUTURE_COMPLETE_RUST_BUFFER +#define UNIFFI_FFIDEF_FOREIGN_FUTURE_COMPLETE_RUST_BUFFER +typedef void (*UniffiForeignFutureCompleteRustBuffer)(uint64_t, UniffiForeignFutureStructRustBuffer + ); + +#endif +#ifndef UNIFFI_FFIDEF_FOREIGN_FUTURE_STRUCT_VOID +#define UNIFFI_FFIDEF_FOREIGN_FUTURE_STRUCT_VOID +typedef struct UniffiForeignFutureStructVoid { + RustCallStatus callStatus; +} UniffiForeignFutureStructVoid; + +#endif +#ifndef UNIFFI_FFIDEF_FOREIGN_FUTURE_COMPLETE_VOID +#define UNIFFI_FFIDEF_FOREIGN_FUTURE_COMPLETE_VOID +typedef void (*UniffiForeignFutureCompleteVoid)(uint64_t, UniffiForeignFutureStructVoid + ); + +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_CLONE_DOC +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_CLONE_DOC void*_Nonnull uniffi_uniffi_automerge_fn_clone_doc(void*_Nonnull ptr, RustCallStatus *_Nonnull out_status ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_FREE_DOC +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_FREE_DOC void uniffi_uniffi_automerge_fn_free_doc(void*_Nonnull ptr, RustCallStatus *_Nonnull out_status ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_CONSTRUCTOR_DOC_LOAD +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_CONSTRUCTOR_DOC_LOAD void*_Nonnull uniffi_uniffi_automerge_fn_constructor_doc_load(RustBuffer bytes, RustCallStatus *_Nonnull out_status ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_CONSTRUCTOR_DOC_NEW +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_CONSTRUCTOR_DOC_NEW void*_Nonnull uniffi_uniffi_automerge_fn_constructor_doc_new(RustCallStatus *_Nonnull out_status ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_CONSTRUCTOR_DOC_NEW_WITH_ACTOR +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_CONSTRUCTOR_DOC_NEW_WITH_ACTOR void*_Nonnull uniffi_uniffi_automerge_fn_constructor_doc_new_with_actor(RustBuffer actor, RustCallStatus *_Nonnull out_status ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_ACTOR_ID +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_ACTOR_ID RustBuffer uniffi_uniffi_automerge_fn_method_doc_actor_id(void*_Nonnull ptr, RustCallStatus *_Nonnull out_status ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_APPLY_ENCODED_CHANGES +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_APPLY_ENCODED_CHANGES void uniffi_uniffi_automerge_fn_method_doc_apply_encoded_changes(void*_Nonnull ptr, RustBuffer changes, RustCallStatus *_Nonnull out_status ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_APPLY_ENCODED_CHANGES_WITH_PATCHES +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_APPLY_ENCODED_CHANGES_WITH_PATCHES RustBuffer uniffi_uniffi_automerge_fn_method_doc_apply_encoded_changes_with_patches(void*_Nonnull ptr, RustBuffer changes, RustCallStatus *_Nonnull out_status ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_CHANGE_BY_HASH +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_CHANGE_BY_HASH RustBuffer uniffi_uniffi_automerge_fn_method_doc_change_by_hash(void*_Nonnull ptr, RustBuffer hash, RustCallStatus *_Nonnull out_status ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_CHANGES +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_CHANGES RustBuffer uniffi_uniffi_automerge_fn_method_doc_changes(void*_Nonnull ptr, RustCallStatus *_Nonnull out_status ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_COMMIT_WITH +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_COMMIT_WITH void uniffi_uniffi_automerge_fn_method_doc_commit_with(void*_Nonnull ptr, RustBuffer msg, int64_t time, RustCallStatus *_Nonnull out_status ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_CURSOR +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_CURSOR RustBuffer uniffi_uniffi_automerge_fn_method_doc_cursor(void*_Nonnull ptr, RustBuffer obj, uint64_t position, RustCallStatus *_Nonnull out_status ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_CURSOR_AT +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_CURSOR_AT RustBuffer uniffi_uniffi_automerge_fn_method_doc_cursor_at(void*_Nonnull ptr, RustBuffer obj, uint64_t position, RustBuffer heads, RustCallStatus *_Nonnull out_status ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_CURSOR_POSITION +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_CURSOR_POSITION uint64_t uniffi_uniffi_automerge_fn_method_doc_cursor_position(void*_Nonnull ptr, RustBuffer obj, RustBuffer cursor, RustCallStatus *_Nonnull out_status ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_CURSOR_POSITION_AT +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_CURSOR_POSITION_AT uint64_t uniffi_uniffi_automerge_fn_method_doc_cursor_position_at(void*_Nonnull ptr, RustBuffer obj, RustBuffer cursor, RustBuffer heads, RustCallStatus *_Nonnull out_status ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_DELETE_IN_LIST +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_DELETE_IN_LIST void uniffi_uniffi_automerge_fn_method_doc_delete_in_list(void*_Nonnull ptr, RustBuffer obj, uint64_t index, RustCallStatus *_Nonnull out_status ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_DELETE_IN_MAP +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_DELETE_IN_MAP void uniffi_uniffi_automerge_fn_method_doc_delete_in_map(void*_Nonnull ptr, RustBuffer obj, RustBuffer key, RustCallStatus *_Nonnull out_status ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_ENCODE_CHANGES_SINCE +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_ENCODE_CHANGES_SINCE RustBuffer uniffi_uniffi_automerge_fn_method_doc_encode_changes_since(void*_Nonnull ptr, RustBuffer heads, RustCallStatus *_Nonnull out_status ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_ENCODE_NEW_CHANGES +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_ENCODE_NEW_CHANGES RustBuffer uniffi_uniffi_automerge_fn_method_doc_encode_new_changes(void*_Nonnull ptr, RustCallStatus *_Nonnull out_status ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_FORK +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_FORK void*_Nonnull uniffi_uniffi_automerge_fn_method_doc_fork(void*_Nonnull ptr, RustCallStatus *_Nonnull out_status ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_FORK_AT +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_FORK_AT void*_Nonnull uniffi_uniffi_automerge_fn_method_doc_fork_at(void*_Nonnull ptr, RustBuffer heads, RustCallStatus *_Nonnull out_status ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_GENERATE_SYNC_MESSAGE +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_GENERATE_SYNC_MESSAGE RustBuffer uniffi_uniffi_automerge_fn_method_doc_generate_sync_message(void*_Nonnull ptr, void*_Nonnull state, RustCallStatus *_Nonnull out_status ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_GET_ALL_AT_IN_LIST +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_GET_ALL_AT_IN_LIST RustBuffer uniffi_uniffi_automerge_fn_method_doc_get_all_at_in_list(void*_Nonnull ptr, RustBuffer obj, uint64_t index, RustBuffer heads, RustCallStatus *_Nonnull out_status ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_GET_ALL_AT_IN_MAP +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_GET_ALL_AT_IN_MAP RustBuffer uniffi_uniffi_automerge_fn_method_doc_get_all_at_in_map(void*_Nonnull ptr, RustBuffer obj, RustBuffer key, RustBuffer heads, RustCallStatus *_Nonnull out_status ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_GET_ALL_IN_LIST +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_GET_ALL_IN_LIST RustBuffer uniffi_uniffi_automerge_fn_method_doc_get_all_in_list(void*_Nonnull ptr, RustBuffer obj, uint64_t index, RustCallStatus *_Nonnull out_status ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_GET_ALL_IN_MAP +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_GET_ALL_IN_MAP RustBuffer uniffi_uniffi_automerge_fn_method_doc_get_all_in_map(void*_Nonnull ptr, RustBuffer obj, RustBuffer key, RustCallStatus *_Nonnull out_status ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_GET_AT_IN_LIST +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_GET_AT_IN_LIST RustBuffer uniffi_uniffi_automerge_fn_method_doc_get_at_in_list(void*_Nonnull ptr, RustBuffer obj, uint64_t index, RustBuffer heads, RustCallStatus *_Nonnull out_status ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_GET_AT_IN_MAP +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_GET_AT_IN_MAP RustBuffer uniffi_uniffi_automerge_fn_method_doc_get_at_in_map(void*_Nonnull ptr, RustBuffer obj, RustBuffer key, RustBuffer heads, RustCallStatus *_Nonnull out_status ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_GET_IN_LIST +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_GET_IN_LIST RustBuffer uniffi_uniffi_automerge_fn_method_doc_get_in_list(void*_Nonnull ptr, RustBuffer obj, uint64_t index, RustCallStatus *_Nonnull out_status ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_GET_IN_MAP +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_GET_IN_MAP RustBuffer uniffi_uniffi_automerge_fn_method_doc_get_in_map(void*_Nonnull ptr, RustBuffer obj, RustBuffer key, RustCallStatus *_Nonnull out_status ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_HEADS +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_HEADS RustBuffer uniffi_uniffi_automerge_fn_method_doc_heads(void*_Nonnull ptr, RustCallStatus *_Nonnull out_status ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_INCREMENT_IN_LIST +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_INCREMENT_IN_LIST void uniffi_uniffi_automerge_fn_method_doc_increment_in_list(void*_Nonnull ptr, RustBuffer obj, uint64_t index, int64_t by, RustCallStatus *_Nonnull out_status ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_INCREMENT_IN_MAP +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_INCREMENT_IN_MAP void uniffi_uniffi_automerge_fn_method_doc_increment_in_map(void*_Nonnull ptr, RustBuffer obj, RustBuffer key, int64_t by, RustCallStatus *_Nonnull out_status ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_INSERT_IN_LIST +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_INSERT_IN_LIST void uniffi_uniffi_automerge_fn_method_doc_insert_in_list(void*_Nonnull ptr, RustBuffer obj, uint64_t index, RustBuffer value, RustCallStatus *_Nonnull out_status ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_INSERT_OBJECT_IN_LIST +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_INSERT_OBJECT_IN_LIST RustBuffer uniffi_uniffi_automerge_fn_method_doc_insert_object_in_list(void*_Nonnull ptr, RustBuffer obj, uint64_t index, RustBuffer obj_type, RustCallStatus *_Nonnull out_status ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_LENGTH +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_LENGTH uint64_t uniffi_uniffi_automerge_fn_method_doc_length(void*_Nonnull ptr, RustBuffer obj, RustCallStatus *_Nonnull out_status ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_LENGTH_AT +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_LENGTH_AT uint64_t uniffi_uniffi_automerge_fn_method_doc_length_at(void*_Nonnull ptr, RustBuffer obj, RustBuffer heads, RustCallStatus *_Nonnull out_status ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_MAP_ENTRIES +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_MAP_ENTRIES RustBuffer uniffi_uniffi_automerge_fn_method_doc_map_entries(void*_Nonnull ptr, RustBuffer obj, RustCallStatus *_Nonnull out_status ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_MAP_ENTRIES_AT +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_MAP_ENTRIES_AT RustBuffer uniffi_uniffi_automerge_fn_method_doc_map_entries_at(void*_Nonnull ptr, RustBuffer obj, RustBuffer heads, RustCallStatus *_Nonnull out_status ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_MAP_KEYS +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_MAP_KEYS RustBuffer uniffi_uniffi_automerge_fn_method_doc_map_keys(void*_Nonnull ptr, RustBuffer obj, RustCallStatus *_Nonnull out_status ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_MAP_KEYS_AT +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_MAP_KEYS_AT RustBuffer uniffi_uniffi_automerge_fn_method_doc_map_keys_at(void*_Nonnull ptr, RustBuffer obj, RustBuffer heads, RustCallStatus *_Nonnull out_status ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_MARK +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_MARK void uniffi_uniffi_automerge_fn_method_doc_mark(void*_Nonnull ptr, RustBuffer obj, uint64_t start, uint64_t end, RustBuffer expand, RustBuffer name, RustBuffer value, RustCallStatus *_Nonnull out_status ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_MARKS +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_MARKS RustBuffer uniffi_uniffi_automerge_fn_method_doc_marks(void*_Nonnull ptr, RustBuffer obj, RustCallStatus *_Nonnull out_status ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_MARKS_AT +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_MARKS_AT RustBuffer uniffi_uniffi_automerge_fn_method_doc_marks_at(void*_Nonnull ptr, RustBuffer obj, RustBuffer heads, RustCallStatus *_Nonnull out_status ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_MERGE +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_MERGE void uniffi_uniffi_automerge_fn_method_doc_merge(void*_Nonnull ptr, void*_Nonnull other, RustCallStatus *_Nonnull out_status ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_MERGE_WITH_PATCHES +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_MERGE_WITH_PATCHES RustBuffer uniffi_uniffi_automerge_fn_method_doc_merge_with_patches(void*_Nonnull ptr, void*_Nonnull other, RustCallStatus *_Nonnull out_status ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_OBJECT_TYPE +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_OBJECT_TYPE RustBuffer uniffi_uniffi_automerge_fn_method_doc_object_type(void*_Nonnull ptr, RustBuffer obj, RustCallStatus *_Nonnull out_status ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_PATH +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_PATH RustBuffer uniffi_uniffi_automerge_fn_method_doc_path(void*_Nonnull ptr, RustBuffer obj, RustCallStatus *_Nonnull out_status ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_PUT_IN_LIST +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_PUT_IN_LIST void uniffi_uniffi_automerge_fn_method_doc_put_in_list(void*_Nonnull ptr, RustBuffer obj, uint64_t index, RustBuffer value, RustCallStatus *_Nonnull out_status ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_PUT_IN_MAP +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_PUT_IN_MAP void uniffi_uniffi_automerge_fn_method_doc_put_in_map(void*_Nonnull ptr, RustBuffer obj, RustBuffer key, RustBuffer value, RustCallStatus *_Nonnull out_status ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_PUT_OBJECT_IN_LIST +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_PUT_OBJECT_IN_LIST RustBuffer uniffi_uniffi_automerge_fn_method_doc_put_object_in_list(void*_Nonnull ptr, RustBuffer obj, uint64_t index, RustBuffer obj_type, RustCallStatus *_Nonnull out_status ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_PUT_OBJECT_IN_MAP +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_PUT_OBJECT_IN_MAP RustBuffer uniffi_uniffi_automerge_fn_method_doc_put_object_in_map(void*_Nonnull ptr, RustBuffer obj, RustBuffer key, RustBuffer obj_type, RustCallStatus *_Nonnull out_status ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_RECEIVE_SYNC_MESSAGE +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_RECEIVE_SYNC_MESSAGE void uniffi_uniffi_automerge_fn_method_doc_receive_sync_message(void*_Nonnull ptr, void*_Nonnull state, RustBuffer msg, RustCallStatus *_Nonnull out_status ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_RECEIVE_SYNC_MESSAGE_WITH_PATCHES +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_RECEIVE_SYNC_MESSAGE_WITH_PATCHES RustBuffer uniffi_uniffi_automerge_fn_method_doc_receive_sync_message_with_patches(void*_Nonnull ptr, void*_Nonnull state, RustBuffer msg, RustCallStatus *_Nonnull out_status ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_SAVE +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_SAVE RustBuffer uniffi_uniffi_automerge_fn_method_doc_save(void*_Nonnull ptr, RustCallStatus *_Nonnull out_status ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_SET_ACTOR +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_SET_ACTOR void uniffi_uniffi_automerge_fn_method_doc_set_actor(void*_Nonnull ptr, RustBuffer actor, RustCallStatus *_Nonnull out_status ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_SPLICE +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_SPLICE void uniffi_uniffi_automerge_fn_method_doc_splice(void*_Nonnull ptr, RustBuffer obj, uint64_t start, int64_t delete, RustBuffer values, RustCallStatus *_Nonnull out_status ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_SPLICE_TEXT +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_SPLICE_TEXT void uniffi_uniffi_automerge_fn_method_doc_splice_text(void*_Nonnull ptr, RustBuffer obj, uint64_t start, int64_t delete, RustBuffer chars, RustCallStatus *_Nonnull out_status ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_TEXT +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_TEXT RustBuffer uniffi_uniffi_automerge_fn_method_doc_text(void*_Nonnull ptr, RustBuffer obj, RustCallStatus *_Nonnull out_status ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_TEXT_AT +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_TEXT_AT RustBuffer uniffi_uniffi_automerge_fn_method_doc_text_at(void*_Nonnull ptr, RustBuffer obj, RustBuffer heads, RustCallStatus *_Nonnull out_status ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_UPDATE_TEXT +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_UPDATE_TEXT void uniffi_uniffi_automerge_fn_method_doc_update_text(void*_Nonnull ptr, RustBuffer obj, RustBuffer chars, RustCallStatus *_Nonnull out_status ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_VALUES +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_VALUES RustBuffer uniffi_uniffi_automerge_fn_method_doc_values(void*_Nonnull ptr, RustBuffer obj, RustCallStatus *_Nonnull out_status ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_VALUES_AT +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_DOC_VALUES_AT RustBuffer uniffi_uniffi_automerge_fn_method_doc_values_at(void*_Nonnull ptr, RustBuffer obj, RustBuffer heads, RustCallStatus *_Nonnull out_status ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_CLONE_SYNCSTATE +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_CLONE_SYNCSTATE void*_Nonnull uniffi_uniffi_automerge_fn_clone_syncstate(void*_Nonnull ptr, RustCallStatus *_Nonnull out_status ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_FREE_SYNCSTATE +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_FREE_SYNCSTATE void uniffi_uniffi_automerge_fn_free_syncstate(void*_Nonnull ptr, RustCallStatus *_Nonnull out_status ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_CONSTRUCTOR_SYNCSTATE_DECODE +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_CONSTRUCTOR_SYNCSTATE_DECODE void*_Nonnull uniffi_uniffi_automerge_fn_constructor_syncstate_decode(RustBuffer bytes, RustCallStatus *_Nonnull out_status ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_CONSTRUCTOR_SYNCSTATE_NEW +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_CONSTRUCTOR_SYNCSTATE_NEW void*_Nonnull uniffi_uniffi_automerge_fn_constructor_syncstate_new(RustCallStatus *_Nonnull out_status ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_SYNCSTATE_ENCODE +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_SYNCSTATE_ENCODE RustBuffer uniffi_uniffi_automerge_fn_method_syncstate_encode(void*_Nonnull ptr, RustCallStatus *_Nonnull out_status ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_SYNCSTATE_RESET +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_SYNCSTATE_RESET void uniffi_uniffi_automerge_fn_method_syncstate_reset(void*_Nonnull ptr, RustCallStatus *_Nonnull out_status ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_SYNCSTATE_THEIR_HEADS +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_METHOD_SYNCSTATE_THEIR_HEADS RustBuffer uniffi_uniffi_automerge_fn_method_syncstate_their_heads(void*_Nonnull ptr, RustCallStatus *_Nonnull out_status ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_FUNC_ROOT +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_FN_FUNC_ROOT RustBuffer uniffi_uniffi_automerge_fn_func_root(RustCallStatus *_Nonnull out_status ); -RustBuffer ffi_uniffi_automerge_rustbuffer_alloc(int32_t size, RustCallStatus *_Nonnull out_status +#endif +#ifndef UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUSTBUFFER_ALLOC +#define UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUSTBUFFER_ALLOC +RustBuffer ffi_uniffi_automerge_rustbuffer_alloc(uint64_t size, RustCallStatus *_Nonnull out_status ); +#endif +#ifndef UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUSTBUFFER_FROM_BYTES +#define UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUSTBUFFER_FROM_BYTES RustBuffer ffi_uniffi_automerge_rustbuffer_from_bytes(ForeignBytes bytes, RustCallStatus *_Nonnull out_status ); +#endif +#ifndef UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUSTBUFFER_FREE +#define UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUSTBUFFER_FREE void ffi_uniffi_automerge_rustbuffer_free(RustBuffer buf, RustCallStatus *_Nonnull out_status ); -RustBuffer ffi_uniffi_automerge_rustbuffer_reserve(RustBuffer buf, int32_t additional, RustCallStatus *_Nonnull out_status -); -void ffi_uniffi_automerge_rust_future_poll_u8(void* _Nonnull handle, UniFfiRustFutureContinuation _Nonnull callback, void* _Nonnull callback_data -); -void ffi_uniffi_automerge_rust_future_cancel_u8(void* _Nonnull handle -); -void ffi_uniffi_automerge_rust_future_free_u8(void* _Nonnull handle -); -uint8_t ffi_uniffi_automerge_rust_future_complete_u8(void* _Nonnull handle, RustCallStatus *_Nonnull out_status -); -void ffi_uniffi_automerge_rust_future_poll_i8(void* _Nonnull handle, UniFfiRustFutureContinuation _Nonnull callback, void* _Nonnull callback_data -); -void ffi_uniffi_automerge_rust_future_cancel_i8(void* _Nonnull handle -); -void ffi_uniffi_automerge_rust_future_free_i8(void* _Nonnull handle -); -int8_t ffi_uniffi_automerge_rust_future_complete_i8(void* _Nonnull handle, RustCallStatus *_Nonnull out_status -); -void ffi_uniffi_automerge_rust_future_poll_u16(void* _Nonnull handle, UniFfiRustFutureContinuation _Nonnull callback, void* _Nonnull callback_data -); -void ffi_uniffi_automerge_rust_future_cancel_u16(void* _Nonnull handle -); -void ffi_uniffi_automerge_rust_future_free_u16(void* _Nonnull handle -); -uint16_t ffi_uniffi_automerge_rust_future_complete_u16(void* _Nonnull handle, RustCallStatus *_Nonnull out_status -); -void ffi_uniffi_automerge_rust_future_poll_i16(void* _Nonnull handle, UniFfiRustFutureContinuation _Nonnull callback, void* _Nonnull callback_data -); -void ffi_uniffi_automerge_rust_future_cancel_i16(void* _Nonnull handle -); -void ffi_uniffi_automerge_rust_future_free_i16(void* _Nonnull handle -); -int16_t ffi_uniffi_automerge_rust_future_complete_i16(void* _Nonnull handle, RustCallStatus *_Nonnull out_status -); -void ffi_uniffi_automerge_rust_future_poll_u32(void* _Nonnull handle, UniFfiRustFutureContinuation _Nonnull callback, void* _Nonnull callback_data -); -void ffi_uniffi_automerge_rust_future_cancel_u32(void* _Nonnull handle -); -void ffi_uniffi_automerge_rust_future_free_u32(void* _Nonnull handle -); -uint32_t ffi_uniffi_automerge_rust_future_complete_u32(void* _Nonnull handle, RustCallStatus *_Nonnull out_status -); -void ffi_uniffi_automerge_rust_future_poll_i32(void* _Nonnull handle, UniFfiRustFutureContinuation _Nonnull callback, void* _Nonnull callback_data -); -void ffi_uniffi_automerge_rust_future_cancel_i32(void* _Nonnull handle -); -void ffi_uniffi_automerge_rust_future_free_i32(void* _Nonnull handle -); -int32_t ffi_uniffi_automerge_rust_future_complete_i32(void* _Nonnull handle, RustCallStatus *_Nonnull out_status -); -void ffi_uniffi_automerge_rust_future_poll_u64(void* _Nonnull handle, UniFfiRustFutureContinuation _Nonnull callback, void* _Nonnull callback_data -); -void ffi_uniffi_automerge_rust_future_cancel_u64(void* _Nonnull handle -); -void ffi_uniffi_automerge_rust_future_free_u64(void* _Nonnull handle -); -uint64_t ffi_uniffi_automerge_rust_future_complete_u64(void* _Nonnull handle, RustCallStatus *_Nonnull out_status -); -void ffi_uniffi_automerge_rust_future_poll_i64(void* _Nonnull handle, UniFfiRustFutureContinuation _Nonnull callback, void* _Nonnull callback_data -); -void ffi_uniffi_automerge_rust_future_cancel_i64(void* _Nonnull handle -); -void ffi_uniffi_automerge_rust_future_free_i64(void* _Nonnull handle -); -int64_t ffi_uniffi_automerge_rust_future_complete_i64(void* _Nonnull handle, RustCallStatus *_Nonnull out_status -); -void ffi_uniffi_automerge_rust_future_poll_f32(void* _Nonnull handle, UniFfiRustFutureContinuation _Nonnull callback, void* _Nonnull callback_data -); -void ffi_uniffi_automerge_rust_future_cancel_f32(void* _Nonnull handle -); -void ffi_uniffi_automerge_rust_future_free_f32(void* _Nonnull handle -); -float ffi_uniffi_automerge_rust_future_complete_f32(void* _Nonnull handle, RustCallStatus *_Nonnull out_status -); -void ffi_uniffi_automerge_rust_future_poll_f64(void* _Nonnull handle, UniFfiRustFutureContinuation _Nonnull callback, void* _Nonnull callback_data -); -void ffi_uniffi_automerge_rust_future_cancel_f64(void* _Nonnull handle -); -void ffi_uniffi_automerge_rust_future_free_f64(void* _Nonnull handle -); -double ffi_uniffi_automerge_rust_future_complete_f64(void* _Nonnull handle, RustCallStatus *_Nonnull out_status -); -void ffi_uniffi_automerge_rust_future_poll_pointer(void* _Nonnull handle, UniFfiRustFutureContinuation _Nonnull callback, void* _Nonnull callback_data -); -void ffi_uniffi_automerge_rust_future_cancel_pointer(void* _Nonnull handle -); -void ffi_uniffi_automerge_rust_future_free_pointer(void* _Nonnull handle -); -void*_Nonnull ffi_uniffi_automerge_rust_future_complete_pointer(void* _Nonnull handle, RustCallStatus *_Nonnull out_status -); -void ffi_uniffi_automerge_rust_future_poll_rust_buffer(void* _Nonnull handle, UniFfiRustFutureContinuation _Nonnull callback, void* _Nonnull callback_data -); -void ffi_uniffi_automerge_rust_future_cancel_rust_buffer(void* _Nonnull handle -); -void ffi_uniffi_automerge_rust_future_free_rust_buffer(void* _Nonnull handle -); -RustBuffer ffi_uniffi_automerge_rust_future_complete_rust_buffer(void* _Nonnull handle, RustCallStatus *_Nonnull out_status -); -void ffi_uniffi_automerge_rust_future_poll_void(void* _Nonnull handle, UniFfiRustFutureContinuation _Nonnull callback, void* _Nonnull callback_data -); -void ffi_uniffi_automerge_rust_future_cancel_void(void* _Nonnull handle -); -void ffi_uniffi_automerge_rust_future_free_void(void* _Nonnull handle -); -void ffi_uniffi_automerge_rust_future_complete_void(void* _Nonnull handle, RustCallStatus *_Nonnull out_status -); +#endif +#ifndef UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUSTBUFFER_RESERVE +#define UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUSTBUFFER_RESERVE +RustBuffer ffi_uniffi_automerge_rustbuffer_reserve(RustBuffer buf, uint64_t additional, RustCallStatus *_Nonnull out_status +); +#endif +#ifndef UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_POLL_U8 +#define UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_POLL_U8 +void ffi_uniffi_automerge_rust_future_poll_u8(uint64_t handle, UniffiRustFutureContinuationCallback _Nonnull callback, uint64_t callback_data +); +#endif +#ifndef UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_CANCEL_U8 +#define UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_CANCEL_U8 +void ffi_uniffi_automerge_rust_future_cancel_u8(uint64_t handle +); +#endif +#ifndef UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_FREE_U8 +#define UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_FREE_U8 +void ffi_uniffi_automerge_rust_future_free_u8(uint64_t handle +); +#endif +#ifndef UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_COMPLETE_U8 +#define UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_COMPLETE_U8 +uint8_t ffi_uniffi_automerge_rust_future_complete_u8(uint64_t handle, RustCallStatus *_Nonnull out_status +); +#endif +#ifndef UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_POLL_I8 +#define UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_POLL_I8 +void ffi_uniffi_automerge_rust_future_poll_i8(uint64_t handle, UniffiRustFutureContinuationCallback _Nonnull callback, uint64_t callback_data +); +#endif +#ifndef UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_CANCEL_I8 +#define UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_CANCEL_I8 +void ffi_uniffi_automerge_rust_future_cancel_i8(uint64_t handle +); +#endif +#ifndef UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_FREE_I8 +#define UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_FREE_I8 +void ffi_uniffi_automerge_rust_future_free_i8(uint64_t handle +); +#endif +#ifndef UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_COMPLETE_I8 +#define UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_COMPLETE_I8 +int8_t ffi_uniffi_automerge_rust_future_complete_i8(uint64_t handle, RustCallStatus *_Nonnull out_status +); +#endif +#ifndef UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_POLL_U16 +#define UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_POLL_U16 +void ffi_uniffi_automerge_rust_future_poll_u16(uint64_t handle, UniffiRustFutureContinuationCallback _Nonnull callback, uint64_t callback_data +); +#endif +#ifndef UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_CANCEL_U16 +#define UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_CANCEL_U16 +void ffi_uniffi_automerge_rust_future_cancel_u16(uint64_t handle +); +#endif +#ifndef UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_FREE_U16 +#define UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_FREE_U16 +void ffi_uniffi_automerge_rust_future_free_u16(uint64_t handle +); +#endif +#ifndef UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_COMPLETE_U16 +#define UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_COMPLETE_U16 +uint16_t ffi_uniffi_automerge_rust_future_complete_u16(uint64_t handle, RustCallStatus *_Nonnull out_status +); +#endif +#ifndef UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_POLL_I16 +#define UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_POLL_I16 +void ffi_uniffi_automerge_rust_future_poll_i16(uint64_t handle, UniffiRustFutureContinuationCallback _Nonnull callback, uint64_t callback_data +); +#endif +#ifndef UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_CANCEL_I16 +#define UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_CANCEL_I16 +void ffi_uniffi_automerge_rust_future_cancel_i16(uint64_t handle +); +#endif +#ifndef UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_FREE_I16 +#define UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_FREE_I16 +void ffi_uniffi_automerge_rust_future_free_i16(uint64_t handle +); +#endif +#ifndef UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_COMPLETE_I16 +#define UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_COMPLETE_I16 +int16_t ffi_uniffi_automerge_rust_future_complete_i16(uint64_t handle, RustCallStatus *_Nonnull out_status +); +#endif +#ifndef UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_POLL_U32 +#define UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_POLL_U32 +void ffi_uniffi_automerge_rust_future_poll_u32(uint64_t handle, UniffiRustFutureContinuationCallback _Nonnull callback, uint64_t callback_data +); +#endif +#ifndef UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_CANCEL_U32 +#define UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_CANCEL_U32 +void ffi_uniffi_automerge_rust_future_cancel_u32(uint64_t handle +); +#endif +#ifndef UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_FREE_U32 +#define UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_FREE_U32 +void ffi_uniffi_automerge_rust_future_free_u32(uint64_t handle +); +#endif +#ifndef UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_COMPLETE_U32 +#define UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_COMPLETE_U32 +uint32_t ffi_uniffi_automerge_rust_future_complete_u32(uint64_t handle, RustCallStatus *_Nonnull out_status +); +#endif +#ifndef UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_POLL_I32 +#define UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_POLL_I32 +void ffi_uniffi_automerge_rust_future_poll_i32(uint64_t handle, UniffiRustFutureContinuationCallback _Nonnull callback, uint64_t callback_data +); +#endif +#ifndef UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_CANCEL_I32 +#define UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_CANCEL_I32 +void ffi_uniffi_automerge_rust_future_cancel_i32(uint64_t handle +); +#endif +#ifndef UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_FREE_I32 +#define UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_FREE_I32 +void ffi_uniffi_automerge_rust_future_free_i32(uint64_t handle +); +#endif +#ifndef UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_COMPLETE_I32 +#define UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_COMPLETE_I32 +int32_t ffi_uniffi_automerge_rust_future_complete_i32(uint64_t handle, RustCallStatus *_Nonnull out_status +); +#endif +#ifndef UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_POLL_U64 +#define UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_POLL_U64 +void ffi_uniffi_automerge_rust_future_poll_u64(uint64_t handle, UniffiRustFutureContinuationCallback _Nonnull callback, uint64_t callback_data +); +#endif +#ifndef UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_CANCEL_U64 +#define UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_CANCEL_U64 +void ffi_uniffi_automerge_rust_future_cancel_u64(uint64_t handle +); +#endif +#ifndef UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_FREE_U64 +#define UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_FREE_U64 +void ffi_uniffi_automerge_rust_future_free_u64(uint64_t handle +); +#endif +#ifndef UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_COMPLETE_U64 +#define UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_COMPLETE_U64 +uint64_t ffi_uniffi_automerge_rust_future_complete_u64(uint64_t handle, RustCallStatus *_Nonnull out_status +); +#endif +#ifndef UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_POLL_I64 +#define UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_POLL_I64 +void ffi_uniffi_automerge_rust_future_poll_i64(uint64_t handle, UniffiRustFutureContinuationCallback _Nonnull callback, uint64_t callback_data +); +#endif +#ifndef UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_CANCEL_I64 +#define UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_CANCEL_I64 +void ffi_uniffi_automerge_rust_future_cancel_i64(uint64_t handle +); +#endif +#ifndef UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_FREE_I64 +#define UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_FREE_I64 +void ffi_uniffi_automerge_rust_future_free_i64(uint64_t handle +); +#endif +#ifndef UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_COMPLETE_I64 +#define UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_COMPLETE_I64 +int64_t ffi_uniffi_automerge_rust_future_complete_i64(uint64_t handle, RustCallStatus *_Nonnull out_status +); +#endif +#ifndef UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_POLL_F32 +#define UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_POLL_F32 +void ffi_uniffi_automerge_rust_future_poll_f32(uint64_t handle, UniffiRustFutureContinuationCallback _Nonnull callback, uint64_t callback_data +); +#endif +#ifndef UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_CANCEL_F32 +#define UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_CANCEL_F32 +void ffi_uniffi_automerge_rust_future_cancel_f32(uint64_t handle +); +#endif +#ifndef UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_FREE_F32 +#define UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_FREE_F32 +void ffi_uniffi_automerge_rust_future_free_f32(uint64_t handle +); +#endif +#ifndef UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_COMPLETE_F32 +#define UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_COMPLETE_F32 +float ffi_uniffi_automerge_rust_future_complete_f32(uint64_t handle, RustCallStatus *_Nonnull out_status +); +#endif +#ifndef UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_POLL_F64 +#define UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_POLL_F64 +void ffi_uniffi_automerge_rust_future_poll_f64(uint64_t handle, UniffiRustFutureContinuationCallback _Nonnull callback, uint64_t callback_data +); +#endif +#ifndef UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_CANCEL_F64 +#define UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_CANCEL_F64 +void ffi_uniffi_automerge_rust_future_cancel_f64(uint64_t handle +); +#endif +#ifndef UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_FREE_F64 +#define UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_FREE_F64 +void ffi_uniffi_automerge_rust_future_free_f64(uint64_t handle +); +#endif +#ifndef UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_COMPLETE_F64 +#define UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_COMPLETE_F64 +double ffi_uniffi_automerge_rust_future_complete_f64(uint64_t handle, RustCallStatus *_Nonnull out_status +); +#endif +#ifndef UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_POLL_POINTER +#define UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_POLL_POINTER +void ffi_uniffi_automerge_rust_future_poll_pointer(uint64_t handle, UniffiRustFutureContinuationCallback _Nonnull callback, uint64_t callback_data +); +#endif +#ifndef UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_CANCEL_POINTER +#define UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_CANCEL_POINTER +void ffi_uniffi_automerge_rust_future_cancel_pointer(uint64_t handle +); +#endif +#ifndef UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_FREE_POINTER +#define UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_FREE_POINTER +void ffi_uniffi_automerge_rust_future_free_pointer(uint64_t handle +); +#endif +#ifndef UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_COMPLETE_POINTER +#define UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_COMPLETE_POINTER +void*_Nonnull ffi_uniffi_automerge_rust_future_complete_pointer(uint64_t handle, RustCallStatus *_Nonnull out_status +); +#endif +#ifndef UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_POLL_RUST_BUFFER +#define UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_POLL_RUST_BUFFER +void ffi_uniffi_automerge_rust_future_poll_rust_buffer(uint64_t handle, UniffiRustFutureContinuationCallback _Nonnull callback, uint64_t callback_data +); +#endif +#ifndef UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_CANCEL_RUST_BUFFER +#define UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_CANCEL_RUST_BUFFER +void ffi_uniffi_automerge_rust_future_cancel_rust_buffer(uint64_t handle +); +#endif +#ifndef UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_FREE_RUST_BUFFER +#define UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_FREE_RUST_BUFFER +void ffi_uniffi_automerge_rust_future_free_rust_buffer(uint64_t handle +); +#endif +#ifndef UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_COMPLETE_RUST_BUFFER +#define UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_COMPLETE_RUST_BUFFER +RustBuffer ffi_uniffi_automerge_rust_future_complete_rust_buffer(uint64_t handle, RustCallStatus *_Nonnull out_status +); +#endif +#ifndef UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_POLL_VOID +#define UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_POLL_VOID +void ffi_uniffi_automerge_rust_future_poll_void(uint64_t handle, UniffiRustFutureContinuationCallback _Nonnull callback, uint64_t callback_data +); +#endif +#ifndef UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_CANCEL_VOID +#define UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_CANCEL_VOID +void ffi_uniffi_automerge_rust_future_cancel_void(uint64_t handle +); +#endif +#ifndef UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_FREE_VOID +#define UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_FREE_VOID +void ffi_uniffi_automerge_rust_future_free_void(uint64_t handle +); +#endif +#ifndef UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_COMPLETE_VOID +#define UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_RUST_FUTURE_COMPLETE_VOID +void ffi_uniffi_automerge_rust_future_complete_void(uint64_t handle, RustCallStatus *_Nonnull out_status +); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_FUNC_ROOT +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_FUNC_ROOT uint16_t uniffi_uniffi_automerge_checksum_func_root(void ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_ACTOR_ID +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_ACTOR_ID uint16_t uniffi_uniffi_automerge_checksum_method_doc_actor_id(void ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_APPLY_ENCODED_CHANGES +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_APPLY_ENCODED_CHANGES uint16_t uniffi_uniffi_automerge_checksum_method_doc_apply_encoded_changes(void ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_APPLY_ENCODED_CHANGES_WITH_PATCHES +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_APPLY_ENCODED_CHANGES_WITH_PATCHES uint16_t uniffi_uniffi_automerge_checksum_method_doc_apply_encoded_changes_with_patches(void ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_CHANGE_BY_HASH +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_CHANGE_BY_HASH uint16_t uniffi_uniffi_automerge_checksum_method_doc_change_by_hash(void ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_CHANGES +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_CHANGES uint16_t uniffi_uniffi_automerge_checksum_method_doc_changes(void ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_COMMIT_WITH +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_COMMIT_WITH uint16_t uniffi_uniffi_automerge_checksum_method_doc_commit_with(void ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_CURSOR +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_CURSOR uint16_t uniffi_uniffi_automerge_checksum_method_doc_cursor(void ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_CURSOR_AT +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_CURSOR_AT uint16_t uniffi_uniffi_automerge_checksum_method_doc_cursor_at(void ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_CURSOR_POSITION +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_CURSOR_POSITION uint16_t uniffi_uniffi_automerge_checksum_method_doc_cursor_position(void ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_CURSOR_POSITION_AT +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_CURSOR_POSITION_AT uint16_t uniffi_uniffi_automerge_checksum_method_doc_cursor_position_at(void ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_DELETE_IN_LIST +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_DELETE_IN_LIST uint16_t uniffi_uniffi_automerge_checksum_method_doc_delete_in_list(void ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_DELETE_IN_MAP +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_DELETE_IN_MAP uint16_t uniffi_uniffi_automerge_checksum_method_doc_delete_in_map(void ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_ENCODE_CHANGES_SINCE +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_ENCODE_CHANGES_SINCE uint16_t uniffi_uniffi_automerge_checksum_method_doc_encode_changes_since(void ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_ENCODE_NEW_CHANGES +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_ENCODE_NEW_CHANGES uint16_t uniffi_uniffi_automerge_checksum_method_doc_encode_new_changes(void ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_FORK +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_FORK uint16_t uniffi_uniffi_automerge_checksum_method_doc_fork(void ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_FORK_AT +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_FORK_AT uint16_t uniffi_uniffi_automerge_checksum_method_doc_fork_at(void ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_GENERATE_SYNC_MESSAGE +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_GENERATE_SYNC_MESSAGE uint16_t uniffi_uniffi_automerge_checksum_method_doc_generate_sync_message(void ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_GET_ALL_AT_IN_LIST +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_GET_ALL_AT_IN_LIST uint16_t uniffi_uniffi_automerge_checksum_method_doc_get_all_at_in_list(void ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_GET_ALL_AT_IN_MAP +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_GET_ALL_AT_IN_MAP uint16_t uniffi_uniffi_automerge_checksum_method_doc_get_all_at_in_map(void ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_GET_ALL_IN_LIST +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_GET_ALL_IN_LIST uint16_t uniffi_uniffi_automerge_checksum_method_doc_get_all_in_list(void ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_GET_ALL_IN_MAP +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_GET_ALL_IN_MAP uint16_t uniffi_uniffi_automerge_checksum_method_doc_get_all_in_map(void ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_GET_AT_IN_LIST +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_GET_AT_IN_LIST uint16_t uniffi_uniffi_automerge_checksum_method_doc_get_at_in_list(void ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_GET_AT_IN_MAP +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_GET_AT_IN_MAP uint16_t uniffi_uniffi_automerge_checksum_method_doc_get_at_in_map(void ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_GET_IN_LIST +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_GET_IN_LIST uint16_t uniffi_uniffi_automerge_checksum_method_doc_get_in_list(void ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_GET_IN_MAP +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_GET_IN_MAP uint16_t uniffi_uniffi_automerge_checksum_method_doc_get_in_map(void ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_HEADS +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_HEADS uint16_t uniffi_uniffi_automerge_checksum_method_doc_heads(void ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_INCREMENT_IN_LIST +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_INCREMENT_IN_LIST uint16_t uniffi_uniffi_automerge_checksum_method_doc_increment_in_list(void ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_INCREMENT_IN_MAP +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_INCREMENT_IN_MAP uint16_t uniffi_uniffi_automerge_checksum_method_doc_increment_in_map(void ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_INSERT_IN_LIST +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_INSERT_IN_LIST uint16_t uniffi_uniffi_automerge_checksum_method_doc_insert_in_list(void ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_INSERT_OBJECT_IN_LIST +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_INSERT_OBJECT_IN_LIST uint16_t uniffi_uniffi_automerge_checksum_method_doc_insert_object_in_list(void ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_LENGTH +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_LENGTH uint16_t uniffi_uniffi_automerge_checksum_method_doc_length(void ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_LENGTH_AT +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_LENGTH_AT uint16_t uniffi_uniffi_automerge_checksum_method_doc_length_at(void ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_MAP_ENTRIES +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_MAP_ENTRIES uint16_t uniffi_uniffi_automerge_checksum_method_doc_map_entries(void ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_MAP_ENTRIES_AT +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_MAP_ENTRIES_AT uint16_t uniffi_uniffi_automerge_checksum_method_doc_map_entries_at(void ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_MAP_KEYS +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_MAP_KEYS uint16_t uniffi_uniffi_automerge_checksum_method_doc_map_keys(void ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_MAP_KEYS_AT +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_MAP_KEYS_AT uint16_t uniffi_uniffi_automerge_checksum_method_doc_map_keys_at(void ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_MARK +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_MARK uint16_t uniffi_uniffi_automerge_checksum_method_doc_mark(void ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_MARKS +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_MARKS uint16_t uniffi_uniffi_automerge_checksum_method_doc_marks(void ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_MARKS_AT +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_MARKS_AT uint16_t uniffi_uniffi_automerge_checksum_method_doc_marks_at(void ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_MERGE +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_MERGE uint16_t uniffi_uniffi_automerge_checksum_method_doc_merge(void ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_MERGE_WITH_PATCHES +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_MERGE_WITH_PATCHES uint16_t uniffi_uniffi_automerge_checksum_method_doc_merge_with_patches(void ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_OBJECT_TYPE +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_OBJECT_TYPE uint16_t uniffi_uniffi_automerge_checksum_method_doc_object_type(void ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_PATH +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_PATH uint16_t uniffi_uniffi_automerge_checksum_method_doc_path(void ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_PUT_IN_LIST +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_PUT_IN_LIST uint16_t uniffi_uniffi_automerge_checksum_method_doc_put_in_list(void ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_PUT_IN_MAP +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_PUT_IN_MAP uint16_t uniffi_uniffi_automerge_checksum_method_doc_put_in_map(void ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_PUT_OBJECT_IN_LIST +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_PUT_OBJECT_IN_LIST uint16_t uniffi_uniffi_automerge_checksum_method_doc_put_object_in_list(void ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_PUT_OBJECT_IN_MAP +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_PUT_OBJECT_IN_MAP uint16_t uniffi_uniffi_automerge_checksum_method_doc_put_object_in_map(void ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_RECEIVE_SYNC_MESSAGE +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_RECEIVE_SYNC_MESSAGE uint16_t uniffi_uniffi_automerge_checksum_method_doc_receive_sync_message(void ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_RECEIVE_SYNC_MESSAGE_WITH_PATCHES +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_RECEIVE_SYNC_MESSAGE_WITH_PATCHES uint16_t uniffi_uniffi_automerge_checksum_method_doc_receive_sync_message_with_patches(void ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_SAVE +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_SAVE uint16_t uniffi_uniffi_automerge_checksum_method_doc_save(void ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_SET_ACTOR +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_SET_ACTOR uint16_t uniffi_uniffi_automerge_checksum_method_doc_set_actor(void ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_SPLICE +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_SPLICE uint16_t uniffi_uniffi_automerge_checksum_method_doc_splice(void ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_SPLICE_TEXT +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_SPLICE_TEXT uint16_t uniffi_uniffi_automerge_checksum_method_doc_splice_text(void ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_TEXT +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_TEXT uint16_t uniffi_uniffi_automerge_checksum_method_doc_text(void ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_TEXT_AT +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_TEXT_AT uint16_t uniffi_uniffi_automerge_checksum_method_doc_text_at(void ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_UPDATE_TEXT +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_UPDATE_TEXT uint16_t uniffi_uniffi_automerge_checksum_method_doc_update_text(void ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_VALUES +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_VALUES uint16_t uniffi_uniffi_automerge_checksum_method_doc_values(void ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_VALUES_AT +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_DOC_VALUES_AT uint16_t uniffi_uniffi_automerge_checksum_method_doc_values_at(void ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_SYNCSTATE_ENCODE +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_SYNCSTATE_ENCODE uint16_t uniffi_uniffi_automerge_checksum_method_syncstate_encode(void ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_SYNCSTATE_RESET +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_SYNCSTATE_RESET uint16_t uniffi_uniffi_automerge_checksum_method_syncstate_reset(void ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_SYNCSTATE_THEIR_HEADS +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_METHOD_SYNCSTATE_THEIR_HEADS uint16_t uniffi_uniffi_automerge_checksum_method_syncstate_their_heads(void ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_CONSTRUCTOR_DOC_LOAD +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_CONSTRUCTOR_DOC_LOAD uint16_t uniffi_uniffi_automerge_checksum_constructor_doc_load(void ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_CONSTRUCTOR_DOC_NEW +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_CONSTRUCTOR_DOC_NEW uint16_t uniffi_uniffi_automerge_checksum_constructor_doc_new(void ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_CONSTRUCTOR_DOC_NEW_WITH_ACTOR +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_CONSTRUCTOR_DOC_NEW_WITH_ACTOR uint16_t uniffi_uniffi_automerge_checksum_constructor_doc_new_with_actor(void ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_CONSTRUCTOR_SYNCSTATE_DECODE +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_CONSTRUCTOR_SYNCSTATE_DECODE uint16_t uniffi_uniffi_automerge_checksum_constructor_syncstate_decode(void ); +#endif +#ifndef UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_CONSTRUCTOR_SYNCSTATE_NEW +#define UNIFFI_FFIDEF_UNIFFI_UNIFFI_AUTOMERGE_CHECKSUM_CONSTRUCTOR_SYNCSTATE_NEW uint16_t uniffi_uniffi_automerge_checksum_constructor_syncstate_new(void ); +#endif +#ifndef UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_UNIFFI_CONTRACT_VERSION +#define UNIFFI_FFIDEF_FFI_UNIFFI_AUTOMERGE_UNIFFI_CONTRACT_VERSION uint32_t ffi_uniffi_automerge_uniffi_contract_version(void ); +#endif