// // This file was generated by uniffi-bindgen-cs v0.9.0+v0.28.3 // See https://github.com/NordSecurity/uniffi-bindgen-cs for more information. // #nullable enable using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Runtime.InteropServices; using System.Threading; namespace ServicePoint; // This is a helper for safely working with byte buffers returned from the Rust code. // A rust-owned buffer is represented by its capacity, its current length, and a // pointer to the underlying data. [StructLayout(LayoutKind.Sequential)] internal struct RustBuffer { public ulong capacity; public ulong len; public IntPtr data; public static RustBuffer Alloc(int size) { return _UniffiHelpers.RustCall((ref UniffiRustCallStatus status) => { var buffer = _UniFFILib.ffi_servicepoint_binding_uniffi_rustbuffer_alloc(Convert.ToUInt64(size), ref status); if (buffer.data == IntPtr.Zero) { throw new AllocationException($"RustBuffer.Alloc() returned null data pointer (size={size})"); } return buffer; }); } public static void Free(RustBuffer buffer) { _UniffiHelpers.RustCall((ref UniffiRustCallStatus status) => { _UniFFILib.ffi_servicepoint_binding_uniffi_rustbuffer_free(buffer, ref status); }); } public static BigEndianStream MemoryStream(IntPtr data, long length) { unsafe { return new BigEndianStream(new UnmanagedMemoryStream((byte*)data.ToPointer(), length)); } } public BigEndianStream AsStream() { unsafe { return new BigEndianStream( new UnmanagedMemoryStream((byte*)data.ToPointer(), Convert.ToInt64(len)) ); } } public BigEndianStream AsWriteableStream() { unsafe { return new BigEndianStream( new UnmanagedMemoryStream( (byte*)data.ToPointer(), Convert.ToInt64(capacity), Convert.ToInt64(capacity), FileAccess.Write ) ); } } } // This is a helper for safely passing byte references into the rust code. // It's not actually used at the moment, because there aren't many things that you // can take a direct pointer to managed memory, and if we're going to copy something // then we might as well copy it into a `RustBuffer`. But it's here for API // completeness. [StructLayout(LayoutKind.Sequential)] internal struct ForeignBytes { public int length; public IntPtr data; } // The FfiConverter interface handles converter types to and from the FFI // // All implementing objects should be public to support external types. When a // type is external we need to import it's FfiConverter. internal abstract class FfiConverter { // Convert an FFI type to a C# type public abstract CsType Lift(FfiType value); // Convert C# type to an FFI type public abstract FfiType Lower(CsType value); // Read a C# type from a `ByteBuffer` public abstract CsType Read(BigEndianStream stream); // Calculate bytes to allocate when creating a `RustBuffer` // // This must return at least as many bytes as the write() function will // write. It can return more bytes than needed, for example when writing // Strings we can't know the exact bytes needed until we the UTF-8 // encoding, so we pessimistically allocate the largest size possible (3 // bytes per codepoint). Allocating extra bytes is not really a big deal // because the `RustBuffer` is short-lived. public abstract int AllocationSize(CsType value); // Write a C# type to a `ByteBuffer` public abstract void Write(CsType value, BigEndianStream stream); // Lower a value into a `RustBuffer` // // This method lowers a value into a `RustBuffer` rather than the normal // FfiType. It's used by the callback interface code. Callback interface // returns are always serialized into a `RustBuffer` regardless of their // normal FFI type. public RustBuffer LowerIntoRustBuffer(CsType value) { var rbuf = RustBuffer.Alloc(AllocationSize(value)); try { var stream = rbuf.AsWriteableStream(); Write(value, stream); rbuf.len = Convert.ToUInt64(stream.Position); return rbuf; } catch { RustBuffer.Free(rbuf); throw; } } // Lift a value from a `RustBuffer`. // // This here mostly because of the symmetry with `lowerIntoRustBuffer()`. // It's currently only used by the `FfiConverterRustBuffer` class below. protected CsType LiftFromRustBuffer(RustBuffer rbuf) { var stream = rbuf.AsStream(); try { var item = Read(stream); if (stream.HasRemaining()) { throw new InternalException("junk remaining in buffer after lifting, something is very wrong!!"); } return item; } finally { RustBuffer.Free(rbuf); } } } // FfiConverter that uses `RustBuffer` as the FfiType internal abstract class FfiConverterRustBuffer: FfiConverter { public override CsType Lift(RustBuffer value) { return LiftFromRustBuffer(value); } public override RustBuffer Lower(CsType value) { return LowerIntoRustBuffer(value); } } // A handful of classes and functions to support the generated data structures. // This would be a good candidate for isolating in its own ffi-support lib. // Error runtime. [StructLayout(LayoutKind.Sequential)] struct UniffiRustCallStatus { public sbyte code; public RustBuffer error_buf; public bool IsSuccess() { return code == 0; } public bool IsError() { return code == 1; } public bool IsPanic() { return code == 2; } } // Base class for all uniffi exceptions public class UniffiException: System.Exception { public UniffiException(): base() {} public UniffiException(string message): base(message) {} } public class UndeclaredErrorException: UniffiException { public UndeclaredErrorException(string message): base(message) {} } public class PanicException: UniffiException { public PanicException(string message): base(message) {} } public class AllocationException: UniffiException { public AllocationException(string message): base(message) {} } public class InternalException: UniffiException { public InternalException(string message): base(message) {} } public class InvalidEnumException: InternalException { public InvalidEnumException(string message): base(message) { } } public class UniffiContractVersionException: UniffiException { public UniffiContractVersionException(string message): base(message) { } } public class UniffiContractChecksumException: UniffiException { public UniffiContractChecksumException(string message): base(message) { } } // Each top-level error class has a companion object that can lift the error from the call status's rust buffer interface CallStatusErrorHandler where E: System.Exception { E Lift(RustBuffer error_buf); } // CallStatusErrorHandler implementation for times when we don't expect a CALL_ERROR class NullCallStatusErrorHandler: CallStatusErrorHandler { public static NullCallStatusErrorHandler INSTANCE = new NullCallStatusErrorHandler(); public UniffiException Lift(RustBuffer error_buf) { RustBuffer.Free(error_buf); return new UndeclaredErrorException("library has returned an error not declared in UNIFFI interface file"); } } // Helpers for calling Rust // In practice we usually need to be synchronized to call this safely, so it doesn't // synchronize itself class _UniffiHelpers { public delegate void RustCallAction(ref UniffiRustCallStatus status); public delegate U RustCallFunc(ref UniffiRustCallStatus status); // Call a rust function that returns a Result<>. Pass in the Error class companion that corresponds to the Err public static U RustCallWithError(CallStatusErrorHandler errorHandler, RustCallFunc callback) where E: UniffiException { var status = new UniffiRustCallStatus(); var return_value = callback(ref status); if (status.IsSuccess()) { return return_value; } else if (status.IsError()) { throw errorHandler.Lift(status.error_buf); } else if (status.IsPanic()) { // 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. if (status.error_buf.len > 0) { throw new PanicException(FfiConverterString.INSTANCE.Lift(status.error_buf)); } else { throw new PanicException("Rust panic"); } } else { throw new InternalException($"Unknown rust call status: {status.code}"); } } // Call a rust function that returns a Result<>. Pass in the Error class companion that corresponds to the Err public static void RustCallWithError(CallStatusErrorHandler errorHandler, RustCallAction callback) where E: UniffiException { _UniffiHelpers.RustCallWithError(errorHandler, (ref UniffiRustCallStatus status) => { callback(ref status); return 0; }); } // Call a rust function that returns a plain value public static U RustCall(RustCallFunc callback) { return _UniffiHelpers.RustCallWithError(NullCallStatusErrorHandler.INSTANCE, callback); } // Call a rust function that returns a plain value public static void RustCall(RustCallAction callback) { _UniffiHelpers.RustCall((ref UniffiRustCallStatus status) => { callback(ref status); return 0; }); } } static class FFIObjectUtil { public static void DisposeAll(params Object?[] list) { foreach (var obj in list) { Dispose(obj); } } // Dispose is implemented by recursive type inspection at runtime. This is because // generating correct Dispose calls for recursive complex types, e.g. List> // is quite cumbersome. private static void Dispose(dynamic? obj) { if (obj == null) { return; } if (obj is IDisposable disposable) { disposable.Dispose(); return; } var type = obj.GetType(); if (type != null) { if (type.IsGenericType) { if (type.GetGenericTypeDefinition().IsAssignableFrom(typeof(List<>))) { foreach (var value in obj) { Dispose(value); } } else if (type.GetGenericTypeDefinition().IsAssignableFrom(typeof(Dictionary<,>))) { foreach (var value in obj.Values) { Dispose(value); } } } } } } // Big endian streams are not yet available in dotnet :'( // https://github.com/dotnet/runtime/issues/26904 class StreamUnderflowException: System.Exception { public StreamUnderflowException() { } } class BigEndianStream { Stream stream; public BigEndianStream(Stream stream) { this.stream = stream; } public bool HasRemaining() { return (stream.Length - stream.Position) > 0; } public long Position { get => stream.Position; set => stream.Position = value; } public void WriteBytes(byte[] value) { stream.Write(value, 0, value.Length); } public void WriteByte(byte value) { stream.WriteByte(value); } public void WriteUShort(ushort value) { stream.WriteByte((byte)(value >> 8)); stream.WriteByte((byte)value); } public void WriteUInt(uint value) { stream.WriteByte((byte)(value >> 24)); stream.WriteByte((byte)(value >> 16)); stream.WriteByte((byte)(value >> 8)); stream.WriteByte((byte)value); } public void WriteULong(ulong value) { WriteUInt((uint)(value >> 32)); WriteUInt((uint)value); } public void WriteSByte(sbyte value) { stream.WriteByte((byte)value); } public void WriteShort(short value) { WriteUShort((ushort)value); } public void WriteInt(int value) { WriteUInt((uint)value); } public void WriteFloat(float value) { unsafe { WriteInt(*((int*)&value)); } } public void WriteLong(long value) { WriteULong((ulong)value); } public void WriteDouble(double value) { WriteLong(BitConverter.DoubleToInt64Bits(value)); } public byte[] ReadBytes(int length) { CheckRemaining(length); byte[] result = new byte[length]; stream.Read(result, 0, length); return result; } public byte ReadByte() { CheckRemaining(1); return Convert.ToByte(stream.ReadByte()); } public ushort ReadUShort() { CheckRemaining(2); return (ushort)(stream.ReadByte() << 8 | stream.ReadByte()); } public uint ReadUInt() { CheckRemaining(4); return (uint)(stream.ReadByte() << 24 | stream.ReadByte() << 16 | stream.ReadByte() << 8 | stream.ReadByte()); } public ulong ReadULong() { return (ulong)ReadUInt() << 32 | (ulong)ReadUInt(); } public sbyte ReadSByte() { return (sbyte)ReadByte(); } public short ReadShort() { return (short)ReadUShort(); } public int ReadInt() { return (int)ReadUInt(); } public float ReadFloat() { unsafe { int value = ReadInt(); return *((float*)&value); } } public long ReadLong() { return (long)ReadULong(); } public double ReadDouble() { return BitConverter.Int64BitsToDouble(ReadLong()); } private void CheckRemaining(int length) { if (stream.Length - stream.Position < length) { throw new StreamUnderflowException(); } } } // Contains loading, initialization code, // and the FFI Function declarations in a com.sun.jna.Library. // This is an implementation detail that will be called internally by the public API. static class _UniFFILib { [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void UniffiRustFutureContinuationCallback( ulong @data,sbyte @pollResult ); [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void UniffiForeignFutureFree( ulong @handle ); [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void UniffiCallbackInterfaceFree( ulong @handle ); [StructLayout(LayoutKind.Sequential)] public struct UniffiForeignFuture { public ulong @handle; public IntPtr @free; } [StructLayout(LayoutKind.Sequential)] public struct UniffiForeignFutureStructU8 { public byte @returnValue; public UniffiRustCallStatus @callStatus; } [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void UniffiForeignFutureCompleteU8( ulong @callbackData,_UniFFILib.UniffiForeignFutureStructU8 @result ); [StructLayout(LayoutKind.Sequential)] public struct UniffiForeignFutureStructI8 { public sbyte @returnValue; public UniffiRustCallStatus @callStatus; } [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void UniffiForeignFutureCompleteI8( ulong @callbackData,_UniFFILib.UniffiForeignFutureStructI8 @result ); [StructLayout(LayoutKind.Sequential)] public struct UniffiForeignFutureStructU16 { public ushort @returnValue; public UniffiRustCallStatus @callStatus; } [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void UniffiForeignFutureCompleteU16( ulong @callbackData,_UniFFILib.UniffiForeignFutureStructU16 @result ); [StructLayout(LayoutKind.Sequential)] public struct UniffiForeignFutureStructI16 { public short @returnValue; public UniffiRustCallStatus @callStatus; } [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void UniffiForeignFutureCompleteI16( ulong @callbackData,_UniFFILib.UniffiForeignFutureStructI16 @result ); [StructLayout(LayoutKind.Sequential)] public struct UniffiForeignFutureStructU32 { public uint @returnValue; public UniffiRustCallStatus @callStatus; } [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void UniffiForeignFutureCompleteU32( ulong @callbackData,_UniFFILib.UniffiForeignFutureStructU32 @result ); [StructLayout(LayoutKind.Sequential)] public struct UniffiForeignFutureStructI32 { public int @returnValue; public UniffiRustCallStatus @callStatus; } [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void UniffiForeignFutureCompleteI32( ulong @callbackData,_UniFFILib.UniffiForeignFutureStructI32 @result ); [StructLayout(LayoutKind.Sequential)] public struct UniffiForeignFutureStructU64 { public ulong @returnValue; public UniffiRustCallStatus @callStatus; } [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void UniffiForeignFutureCompleteU64( ulong @callbackData,_UniFFILib.UniffiForeignFutureStructU64 @result ); [StructLayout(LayoutKind.Sequential)] public struct UniffiForeignFutureStructI64 { public long @returnValue; public UniffiRustCallStatus @callStatus; } [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void UniffiForeignFutureCompleteI64( ulong @callbackData,_UniFFILib.UniffiForeignFutureStructI64 @result ); [StructLayout(LayoutKind.Sequential)] public struct UniffiForeignFutureStructF32 { public float @returnValue; public UniffiRustCallStatus @callStatus; } [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void UniffiForeignFutureCompleteF32( ulong @callbackData,_UniFFILib.UniffiForeignFutureStructF32 @result ); [StructLayout(LayoutKind.Sequential)] public struct UniffiForeignFutureStructF64 { public double @returnValue; public UniffiRustCallStatus @callStatus; } [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void UniffiForeignFutureCompleteF64( ulong @callbackData,_UniFFILib.UniffiForeignFutureStructF64 @result ); [StructLayout(LayoutKind.Sequential)] public struct UniffiForeignFutureStructPointer { public IntPtr @returnValue; public UniffiRustCallStatus @callStatus; } [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void UniffiForeignFutureCompletePointer( ulong @callbackData,_UniFFILib.UniffiForeignFutureStructPointer @result ); [StructLayout(LayoutKind.Sequential)] public struct UniffiForeignFutureStructRustBuffer { public RustBuffer @returnValue; public UniffiRustCallStatus @callStatus; } [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void UniffiForeignFutureCompleteRustBuffer( ulong @callbackData,_UniFFILib.UniffiForeignFutureStructRustBuffer @result ); [StructLayout(LayoutKind.Sequential)] public struct UniffiForeignFutureStructVoid { public UniffiRustCallStatus @callStatus; } [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void UniffiForeignFutureCompleteVoid( ulong @callbackData,_UniFFILib.UniffiForeignFutureStructVoid @result ); static _UniFFILib() { _UniFFILib.uniffiCheckContractApiVersion(); _UniFFILib.uniffiCheckApiChecksums(); } [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern IntPtr uniffi_servicepoint_binding_uniffi_fn_clone_bitvec(IntPtr @ptr,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern void uniffi_servicepoint_binding_uniffi_fn_free_bitvec(IntPtr @ptr,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern IntPtr uniffi_servicepoint_binding_uniffi_fn_constructor_bitvec_clone(IntPtr @other,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern IntPtr uniffi_servicepoint_binding_uniffi_fn_constructor_bitvec_load(RustBuffer @data,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern IntPtr uniffi_servicepoint_binding_uniffi_fn_constructor_bitvec_new(ulong @size,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern RustBuffer uniffi_servicepoint_binding_uniffi_fn_method_bitvec_copy_raw(IntPtr @ptr,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern sbyte uniffi_servicepoint_binding_uniffi_fn_method_bitvec_equals(IntPtr @ptr,IntPtr @other,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern void uniffi_servicepoint_binding_uniffi_fn_method_bitvec_fill(IntPtr @ptr,sbyte @value,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern sbyte uniffi_servicepoint_binding_uniffi_fn_method_bitvec_get(IntPtr @ptr,ulong @index,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern ulong uniffi_servicepoint_binding_uniffi_fn_method_bitvec_len(IntPtr @ptr,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern void uniffi_servicepoint_binding_uniffi_fn_method_bitvec_set(IntPtr @ptr,ulong @index,sbyte @value,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern IntPtr uniffi_servicepoint_binding_uniffi_fn_clone_bitmap(IntPtr @ptr,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern void uniffi_servicepoint_binding_uniffi_fn_free_bitmap(IntPtr @ptr,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern IntPtr uniffi_servicepoint_binding_uniffi_fn_constructor_bitmap_clone(IntPtr @other,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern IntPtr uniffi_servicepoint_binding_uniffi_fn_constructor_bitmap_load(ulong @width,ulong @height,RustBuffer @data,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern IntPtr uniffi_servicepoint_binding_uniffi_fn_constructor_bitmap_new(ulong @width,ulong @height,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern IntPtr uniffi_servicepoint_binding_uniffi_fn_constructor_bitmap_new_max_sized(ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern RustBuffer uniffi_servicepoint_binding_uniffi_fn_method_bitmap_copy_raw(IntPtr @ptr,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern sbyte uniffi_servicepoint_binding_uniffi_fn_method_bitmap_equals(IntPtr @ptr,IntPtr @other,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern void uniffi_servicepoint_binding_uniffi_fn_method_bitmap_fill(IntPtr @ptr,sbyte @value,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern sbyte uniffi_servicepoint_binding_uniffi_fn_method_bitmap_get(IntPtr @ptr,ulong @x,ulong @y,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern ulong uniffi_servicepoint_binding_uniffi_fn_method_bitmap_height(IntPtr @ptr,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern void uniffi_servicepoint_binding_uniffi_fn_method_bitmap_set(IntPtr @ptr,ulong @x,ulong @y,sbyte @value,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern ulong uniffi_servicepoint_binding_uniffi_fn_method_bitmap_width(IntPtr @ptr,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern IntPtr uniffi_servicepoint_binding_uniffi_fn_clone_brightnessgrid(IntPtr @ptr,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern void uniffi_servicepoint_binding_uniffi_fn_free_brightnessgrid(IntPtr @ptr,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern IntPtr uniffi_servicepoint_binding_uniffi_fn_constructor_brightnessgrid_clone(IntPtr @other,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern IntPtr uniffi_servicepoint_binding_uniffi_fn_constructor_brightnessgrid_load(ulong @width,ulong @height,RustBuffer @data,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern IntPtr uniffi_servicepoint_binding_uniffi_fn_constructor_brightnessgrid_new(ulong @width,ulong @height,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern RustBuffer uniffi_servicepoint_binding_uniffi_fn_method_brightnessgrid_copy_raw(IntPtr @ptr,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern sbyte uniffi_servicepoint_binding_uniffi_fn_method_brightnessgrid_equals(IntPtr @ptr,IntPtr @other,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern void uniffi_servicepoint_binding_uniffi_fn_method_brightnessgrid_fill(IntPtr @ptr,byte @value,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern byte uniffi_servicepoint_binding_uniffi_fn_method_brightnessgrid_get(IntPtr @ptr,ulong @x,ulong @y,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern ulong uniffi_servicepoint_binding_uniffi_fn_method_brightnessgrid_height(IntPtr @ptr,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern void uniffi_servicepoint_binding_uniffi_fn_method_brightnessgrid_set(IntPtr @ptr,ulong @x,ulong @y,byte @value,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern ulong uniffi_servicepoint_binding_uniffi_fn_method_brightnessgrid_width(IntPtr @ptr,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern IntPtr uniffi_servicepoint_binding_uniffi_fn_clone_chargrid(IntPtr @ptr,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern void uniffi_servicepoint_binding_uniffi_fn_free_chargrid(IntPtr @ptr,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern IntPtr uniffi_servicepoint_binding_uniffi_fn_constructor_chargrid_clone(IntPtr @other,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern IntPtr uniffi_servicepoint_binding_uniffi_fn_constructor_chargrid_load(RustBuffer @data,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern IntPtr uniffi_servicepoint_binding_uniffi_fn_constructor_chargrid_new(ulong @width,ulong @height,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern RustBuffer uniffi_servicepoint_binding_uniffi_fn_method_chargrid_as_string(IntPtr @ptr,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern sbyte uniffi_servicepoint_binding_uniffi_fn_method_chargrid_equals(IntPtr @ptr,IntPtr @other,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern void uniffi_servicepoint_binding_uniffi_fn_method_chargrid_fill(IntPtr @ptr,RustBuffer @value,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern RustBuffer uniffi_servicepoint_binding_uniffi_fn_method_chargrid_get(IntPtr @ptr,ulong @x,ulong @y,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern RustBuffer uniffi_servicepoint_binding_uniffi_fn_method_chargrid_get_col(IntPtr @ptr,ulong @x,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern RustBuffer uniffi_servicepoint_binding_uniffi_fn_method_chargrid_get_row(IntPtr @ptr,ulong @y,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern ulong uniffi_servicepoint_binding_uniffi_fn_method_chargrid_height(IntPtr @ptr,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern void uniffi_servicepoint_binding_uniffi_fn_method_chargrid_set(IntPtr @ptr,ulong @x,ulong @y,RustBuffer @value,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern void uniffi_servicepoint_binding_uniffi_fn_method_chargrid_set_col(IntPtr @ptr,ulong @x,RustBuffer @col,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern void uniffi_servicepoint_binding_uniffi_fn_method_chargrid_set_row(IntPtr @ptr,ulong @y,RustBuffer @row,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern IntPtr uniffi_servicepoint_binding_uniffi_fn_method_chargrid_to_cp437(IntPtr @ptr,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern ulong uniffi_servicepoint_binding_uniffi_fn_method_chargrid_width(IntPtr @ptr,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern IntPtr uniffi_servicepoint_binding_uniffi_fn_clone_command(IntPtr @ptr,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern void uniffi_servicepoint_binding_uniffi_fn_free_command(IntPtr @ptr,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern IntPtr uniffi_servicepoint_binding_uniffi_fn_constructor_command_bitmap_linear(ulong @offset,IntPtr @bitvec,RustBuffer @compression,RustBuffer @operation,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern IntPtr uniffi_servicepoint_binding_uniffi_fn_constructor_command_bitmap_linear_win(ulong @offsetX,ulong @offsetY,IntPtr @bitmap,RustBuffer @compression,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern IntPtr uniffi_servicepoint_binding_uniffi_fn_constructor_command_brightness(byte @brightness,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern IntPtr uniffi_servicepoint_binding_uniffi_fn_constructor_command_char_brightness(ulong @offsetX,ulong @offsetY,IntPtr @grid,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern IntPtr uniffi_servicepoint_binding_uniffi_fn_constructor_command_clear(ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern IntPtr uniffi_servicepoint_binding_uniffi_fn_constructor_command_clone(IntPtr @other,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern IntPtr uniffi_servicepoint_binding_uniffi_fn_constructor_command_cp437_data(ulong @offsetX,ulong @offsetY,IntPtr @grid,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern IntPtr uniffi_servicepoint_binding_uniffi_fn_constructor_command_fade_out(ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern IntPtr uniffi_servicepoint_binding_uniffi_fn_constructor_command_hard_reset(ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern IntPtr uniffi_servicepoint_binding_uniffi_fn_constructor_command_utf8_data(ulong @offsetX,ulong @offsetY,IntPtr @grid,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern sbyte uniffi_servicepoint_binding_uniffi_fn_method_command_equals(IntPtr @ptr,IntPtr @other,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern IntPtr uniffi_servicepoint_binding_uniffi_fn_clone_connection(IntPtr @ptr,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern void uniffi_servicepoint_binding_uniffi_fn_free_connection(IntPtr @ptr,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern IntPtr uniffi_servicepoint_binding_uniffi_fn_constructor_connection_new(RustBuffer @host,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern void uniffi_servicepoint_binding_uniffi_fn_method_connection_send(IntPtr @ptr,IntPtr @command,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern IntPtr uniffi_servicepoint_binding_uniffi_fn_clone_cp437grid(IntPtr @ptr,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern void uniffi_servicepoint_binding_uniffi_fn_free_cp437grid(IntPtr @ptr,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern IntPtr uniffi_servicepoint_binding_uniffi_fn_constructor_cp437grid_clone(IntPtr @other,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern IntPtr uniffi_servicepoint_binding_uniffi_fn_constructor_cp437grid_load(ulong @width,ulong @height,RustBuffer @data,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern IntPtr uniffi_servicepoint_binding_uniffi_fn_constructor_cp437grid_new(ulong @width,ulong @height,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern RustBuffer uniffi_servicepoint_binding_uniffi_fn_method_cp437grid_copy_raw(IntPtr @ptr,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern sbyte uniffi_servicepoint_binding_uniffi_fn_method_cp437grid_equals(IntPtr @ptr,IntPtr @other,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern void uniffi_servicepoint_binding_uniffi_fn_method_cp437grid_fill(IntPtr @ptr,byte @value,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern byte uniffi_servicepoint_binding_uniffi_fn_method_cp437grid_get(IntPtr @ptr,ulong @x,ulong @y,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern ulong uniffi_servicepoint_binding_uniffi_fn_method_cp437grid_height(IntPtr @ptr,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern void uniffi_servicepoint_binding_uniffi_fn_method_cp437grid_set(IntPtr @ptr,ulong @x,ulong @y,byte @value,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern IntPtr uniffi_servicepoint_binding_uniffi_fn_method_cp437grid_to_utf8(IntPtr @ptr,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern ulong uniffi_servicepoint_binding_uniffi_fn_method_cp437grid_width(IntPtr @ptr,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern RustBuffer uniffi_servicepoint_binding_uniffi_fn_func_get_constants(ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern RustBuffer ffi_servicepoint_binding_uniffi_rustbuffer_alloc(ulong @size,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern RustBuffer ffi_servicepoint_binding_uniffi_rustbuffer_from_bytes(ForeignBytes @bytes,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern void ffi_servicepoint_binding_uniffi_rustbuffer_free(RustBuffer @buf,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern RustBuffer ffi_servicepoint_binding_uniffi_rustbuffer_reserve(RustBuffer @buf,ulong @additional,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern void ffi_servicepoint_binding_uniffi_rust_future_poll_u8(IntPtr @handle,IntPtr @callback,IntPtr @callbackData ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern void ffi_servicepoint_binding_uniffi_rust_future_cancel_u8(IntPtr @handle ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern void ffi_servicepoint_binding_uniffi_rust_future_free_u8(IntPtr @handle ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern byte ffi_servicepoint_binding_uniffi_rust_future_complete_u8(IntPtr @handle,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern void ffi_servicepoint_binding_uniffi_rust_future_poll_i8(IntPtr @handle,IntPtr @callback,IntPtr @callbackData ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern void ffi_servicepoint_binding_uniffi_rust_future_cancel_i8(IntPtr @handle ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern void ffi_servicepoint_binding_uniffi_rust_future_free_i8(IntPtr @handle ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern sbyte ffi_servicepoint_binding_uniffi_rust_future_complete_i8(IntPtr @handle,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern void ffi_servicepoint_binding_uniffi_rust_future_poll_u16(IntPtr @handle,IntPtr @callback,IntPtr @callbackData ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern void ffi_servicepoint_binding_uniffi_rust_future_cancel_u16(IntPtr @handle ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern void ffi_servicepoint_binding_uniffi_rust_future_free_u16(IntPtr @handle ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern ushort ffi_servicepoint_binding_uniffi_rust_future_complete_u16(IntPtr @handle,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern void ffi_servicepoint_binding_uniffi_rust_future_poll_i16(IntPtr @handle,IntPtr @callback,IntPtr @callbackData ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern void ffi_servicepoint_binding_uniffi_rust_future_cancel_i16(IntPtr @handle ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern void ffi_servicepoint_binding_uniffi_rust_future_free_i16(IntPtr @handle ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern short ffi_servicepoint_binding_uniffi_rust_future_complete_i16(IntPtr @handle,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern void ffi_servicepoint_binding_uniffi_rust_future_poll_u32(IntPtr @handle,IntPtr @callback,IntPtr @callbackData ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern void ffi_servicepoint_binding_uniffi_rust_future_cancel_u32(IntPtr @handle ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern void ffi_servicepoint_binding_uniffi_rust_future_free_u32(IntPtr @handle ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern uint ffi_servicepoint_binding_uniffi_rust_future_complete_u32(IntPtr @handle,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern void ffi_servicepoint_binding_uniffi_rust_future_poll_i32(IntPtr @handle,IntPtr @callback,IntPtr @callbackData ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern void ffi_servicepoint_binding_uniffi_rust_future_cancel_i32(IntPtr @handle ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern void ffi_servicepoint_binding_uniffi_rust_future_free_i32(IntPtr @handle ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern int ffi_servicepoint_binding_uniffi_rust_future_complete_i32(IntPtr @handle,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern void ffi_servicepoint_binding_uniffi_rust_future_poll_u64(IntPtr @handle,IntPtr @callback,IntPtr @callbackData ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern void ffi_servicepoint_binding_uniffi_rust_future_cancel_u64(IntPtr @handle ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern void ffi_servicepoint_binding_uniffi_rust_future_free_u64(IntPtr @handle ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern ulong ffi_servicepoint_binding_uniffi_rust_future_complete_u64(IntPtr @handle,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern void ffi_servicepoint_binding_uniffi_rust_future_poll_i64(IntPtr @handle,IntPtr @callback,IntPtr @callbackData ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern void ffi_servicepoint_binding_uniffi_rust_future_cancel_i64(IntPtr @handle ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern void ffi_servicepoint_binding_uniffi_rust_future_free_i64(IntPtr @handle ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern long ffi_servicepoint_binding_uniffi_rust_future_complete_i64(IntPtr @handle,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern void ffi_servicepoint_binding_uniffi_rust_future_poll_f32(IntPtr @handle,IntPtr @callback,IntPtr @callbackData ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern void ffi_servicepoint_binding_uniffi_rust_future_cancel_f32(IntPtr @handle ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern void ffi_servicepoint_binding_uniffi_rust_future_free_f32(IntPtr @handle ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern float ffi_servicepoint_binding_uniffi_rust_future_complete_f32(IntPtr @handle,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern void ffi_servicepoint_binding_uniffi_rust_future_poll_f64(IntPtr @handle,IntPtr @callback,IntPtr @callbackData ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern void ffi_servicepoint_binding_uniffi_rust_future_cancel_f64(IntPtr @handle ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern void ffi_servicepoint_binding_uniffi_rust_future_free_f64(IntPtr @handle ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern double ffi_servicepoint_binding_uniffi_rust_future_complete_f64(IntPtr @handle,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern void ffi_servicepoint_binding_uniffi_rust_future_poll_pointer(IntPtr @handle,IntPtr @callback,IntPtr @callbackData ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern void ffi_servicepoint_binding_uniffi_rust_future_cancel_pointer(IntPtr @handle ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern void ffi_servicepoint_binding_uniffi_rust_future_free_pointer(IntPtr @handle ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern IntPtr ffi_servicepoint_binding_uniffi_rust_future_complete_pointer(IntPtr @handle,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern void ffi_servicepoint_binding_uniffi_rust_future_poll_rust_buffer(IntPtr @handle,IntPtr @callback,IntPtr @callbackData ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern void ffi_servicepoint_binding_uniffi_rust_future_cancel_rust_buffer(IntPtr @handle ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern void ffi_servicepoint_binding_uniffi_rust_future_free_rust_buffer(IntPtr @handle ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern RustBuffer ffi_servicepoint_binding_uniffi_rust_future_complete_rust_buffer(IntPtr @handle,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern void ffi_servicepoint_binding_uniffi_rust_future_poll_void(IntPtr @handle,IntPtr @callback,IntPtr @callbackData ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern void ffi_servicepoint_binding_uniffi_rust_future_cancel_void(IntPtr @handle ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern void ffi_servicepoint_binding_uniffi_rust_future_free_void(IntPtr @handle ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern void ffi_servicepoint_binding_uniffi_rust_future_complete_void(IntPtr @handle,ref UniffiRustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_func_get_constants( ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_method_bitvec_copy_raw( ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_method_bitvec_equals( ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_method_bitvec_fill( ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_method_bitvec_get( ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_method_bitvec_len( ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_method_bitvec_set( ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_method_bitmap_copy_raw( ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_method_bitmap_equals( ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_method_bitmap_fill( ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_method_bitmap_get( ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_method_bitmap_height( ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_method_bitmap_set( ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_method_bitmap_width( ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_method_brightnessgrid_copy_raw( ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_method_brightnessgrid_equals( ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_method_brightnessgrid_fill( ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_method_brightnessgrid_get( ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_method_brightnessgrid_height( ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_method_brightnessgrid_set( ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_method_brightnessgrid_width( ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_method_chargrid_as_string( ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_method_chargrid_equals( ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_method_chargrid_fill( ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_method_chargrid_get( ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_method_chargrid_get_col( ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_method_chargrid_get_row( ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_method_chargrid_height( ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_method_chargrid_set( ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_method_chargrid_set_col( ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_method_chargrid_set_row( ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_method_chargrid_to_cp437( ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_method_chargrid_width( ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_method_command_equals( ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_method_connection_send( ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_method_cp437grid_copy_raw( ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_method_cp437grid_equals( ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_method_cp437grid_fill( ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_method_cp437grid_get( ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_method_cp437grid_height( ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_method_cp437grid_set( ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_method_cp437grid_to_utf8( ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_method_cp437grid_width( ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_constructor_bitvec_clone( ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_constructor_bitvec_load( ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_constructor_bitvec_new( ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_constructor_bitmap_clone( ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_constructor_bitmap_load( ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_constructor_bitmap_new( ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_constructor_bitmap_new_max_sized( ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_constructor_brightnessgrid_clone( ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_constructor_brightnessgrid_load( ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_constructor_brightnessgrid_new( ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_constructor_chargrid_clone( ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_constructor_chargrid_load( ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_constructor_chargrid_new( ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_constructor_command_bitmap_linear( ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_constructor_command_bitmap_linear_win( ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_constructor_command_brightness( ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_constructor_command_char_brightness( ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_constructor_command_clear( ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_constructor_command_clone( ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_constructor_command_cp437_data( ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_constructor_command_fade_out( ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_constructor_command_hard_reset( ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_constructor_command_utf8_data( ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_constructor_connection_new( ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_constructor_cp437grid_clone( ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_constructor_cp437grid_load( ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_constructor_cp437grid_new( ); [DllImport("servicepoint_binding_uniffi", CallingConvention = CallingConvention.Cdecl)] public static extern uint ffi_servicepoint_binding_uniffi_uniffi_contract_version( ); static void uniffiCheckContractApiVersion() { var scaffolding_contract_version = _UniFFILib.ffi_servicepoint_binding_uniffi_uniffi_contract_version(); if (26 != scaffolding_contract_version) { throw new UniffiContractVersionException($"ServicePoint: uniffi bindings expected version `26`, library returned `{scaffolding_contract_version}`"); } } static void uniffiCheckApiChecksums() { { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_func_get_constants(); if (checksum != 59241) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_func_get_constants` checksum `59241`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_method_bitvec_copy_raw(); if (checksum != 44858) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_method_bitvec_copy_raw` checksum `44858`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_method_bitvec_equals(); if (checksum != 56950) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_method_bitvec_equals` checksum `56950`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_method_bitvec_fill(); if (checksum != 49206) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_method_bitvec_fill` checksum `49206`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_method_bitvec_get(); if (checksum != 4505) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_method_bitvec_get` checksum `4505`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_method_bitvec_len(); if (checksum != 20215) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_method_bitvec_len` checksum `20215`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_method_bitvec_set(); if (checksum != 35617) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_method_bitvec_set` checksum `35617`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_method_bitmap_copy_raw(); if (checksum != 22381) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_method_bitmap_copy_raw` checksum `22381`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_method_bitmap_equals(); if (checksum != 11420) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_method_bitmap_equals` checksum `11420`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_method_bitmap_fill(); if (checksum != 7742) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_method_bitmap_fill` checksum `7742`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_method_bitmap_get(); if (checksum != 18964) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_method_bitmap_get` checksum `18964`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_method_bitmap_height(); if (checksum != 45228) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_method_bitmap_height` checksum `45228`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_method_bitmap_set(); if (checksum != 12299) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_method_bitmap_set` checksum `12299`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_method_bitmap_width(); if (checksum != 62870) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_method_bitmap_width` checksum `62870`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_method_brightnessgrid_copy_raw(); if (checksum != 5114) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_method_brightnessgrid_copy_raw` checksum `5114`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_method_brightnessgrid_equals(); if (checksum != 28824) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_method_brightnessgrid_equals` checksum `28824`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_method_brightnessgrid_fill(); if (checksum != 47185) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_method_brightnessgrid_fill` checksum `47185`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_method_brightnessgrid_get(); if (checksum != 39844) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_method_brightnessgrid_get` checksum `39844`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_method_brightnessgrid_height(); if (checksum != 43167) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_method_brightnessgrid_height` checksum `43167`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_method_brightnessgrid_set(); if (checksum != 24064) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_method_brightnessgrid_set` checksum `24064`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_method_brightnessgrid_width(); if (checksum != 22654) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_method_brightnessgrid_width` checksum `22654`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_method_chargrid_as_string(); if (checksum != 28188) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_method_chargrid_as_string` checksum `28188`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_method_chargrid_equals(); if (checksum != 60616) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_method_chargrid_equals` checksum `60616`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_method_chargrid_fill(); if (checksum != 45391) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_method_chargrid_fill` checksum `45391`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_method_chargrid_get(); if (checksum != 1811) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_method_chargrid_get` checksum `1811`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_method_chargrid_get_col(); if (checksum != 37658) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_method_chargrid_get_col` checksum `37658`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_method_chargrid_get_row(); if (checksum != 55496) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_method_chargrid_get_row` checksum `55496`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_method_chargrid_height(); if (checksum != 37258) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_method_chargrid_height` checksum `37258`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_method_chargrid_set(); if (checksum != 31547) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_method_chargrid_set` checksum `31547`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_method_chargrid_set_col(); if (checksum != 13241) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_method_chargrid_set_col` checksum `13241`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_method_chargrid_set_row(); if (checksum != 59373) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_method_chargrid_set_row` checksum `59373`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_method_chargrid_to_cp437(); if (checksum != 7486) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_method_chargrid_to_cp437` checksum `7486`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_method_chargrid_width(); if (checksum != 40166) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_method_chargrid_width` checksum `40166`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_method_command_equals(); if (checksum != 10396) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_method_command_equals` checksum `10396`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_method_connection_send(); if (checksum != 32639) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_method_connection_send` checksum `32639`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_method_cp437grid_copy_raw(); if (checksum != 3828) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_method_cp437grid_copy_raw` checksum `3828`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_method_cp437grid_equals(); if (checksum != 21521) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_method_cp437grid_equals` checksum `21521`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_method_cp437grid_fill(); if (checksum != 20435) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_method_cp437grid_fill` checksum `20435`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_method_cp437grid_get(); if (checksum != 58760) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_method_cp437grid_get` checksum `58760`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_method_cp437grid_height(); if (checksum != 32386) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_method_cp437grid_height` checksum `32386`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_method_cp437grid_set(); if (checksum != 24881) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_method_cp437grid_set` checksum `24881`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_method_cp437grid_to_utf8(); if (checksum != 36603) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_method_cp437grid_to_utf8` checksum `36603`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_method_cp437grid_width(); if (checksum != 11243) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_method_cp437grid_width` checksum `11243`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_constructor_bitvec_clone(); if (checksum != 35610) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_constructor_bitvec_clone` checksum `35610`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_constructor_bitvec_load(); if (checksum != 4260) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_constructor_bitvec_load` checksum `4260`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_constructor_bitvec_new(); if (checksum != 11119) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_constructor_bitvec_new` checksum `11119`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_constructor_bitmap_clone(); if (checksum != 54327) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_constructor_bitmap_clone` checksum `54327`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_constructor_bitmap_load(); if (checksum != 51708) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_constructor_bitmap_load` checksum `51708`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_constructor_bitmap_new(); if (checksum != 40771) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_constructor_bitmap_new` checksum `40771`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_constructor_bitmap_new_max_sized(); if (checksum != 47687) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_constructor_bitmap_new_max_sized` checksum `47687`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_constructor_brightnessgrid_clone(); if (checksum != 56444) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_constructor_brightnessgrid_clone` checksum `56444`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_constructor_brightnessgrid_load(); if (checksum != 224) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_constructor_brightnessgrid_load` checksum `224`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_constructor_brightnessgrid_new(); if (checksum != 45722) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_constructor_brightnessgrid_new` checksum `45722`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_constructor_chargrid_clone(); if (checksum != 5903) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_constructor_chargrid_clone` checksum `5903`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_constructor_chargrid_load(); if (checksum != 45804) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_constructor_chargrid_load` checksum `45804`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_constructor_chargrid_new(); if (checksum != 2094) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_constructor_chargrid_new` checksum `2094`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_constructor_command_bitmap_linear(); if (checksum != 62752) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_constructor_command_bitmap_linear` checksum `62752`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_constructor_command_bitmap_linear_win(); if (checksum != 32012) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_constructor_command_bitmap_linear_win` checksum `32012`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_constructor_command_brightness(); if (checksum != 60895) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_constructor_command_brightness` checksum `60895`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_constructor_command_char_brightness(); if (checksum != 50477) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_constructor_command_char_brightness` checksum `50477`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_constructor_command_clear(); if (checksum != 20330) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_constructor_command_clear` checksum `20330`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_constructor_command_clone(); if (checksum != 42470) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_constructor_command_clone` checksum `42470`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_constructor_command_cp437_data(); if (checksum != 63131) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_constructor_command_cp437_data` checksum `63131`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_constructor_command_fade_out(); if (checksum != 13752) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_constructor_command_fade_out` checksum `13752`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_constructor_command_hard_reset(); if (checksum != 62911) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_constructor_command_hard_reset` checksum `62911`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_constructor_command_utf8_data(); if (checksum != 60950) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_constructor_command_utf8_data` checksum `60950`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_constructor_connection_new(); if (checksum != 7315) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_constructor_connection_new` checksum `7315`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_constructor_cp437grid_clone(); if (checksum != 60629) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_constructor_cp437grid_clone` checksum `60629`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_constructor_cp437grid_load(); if (checksum != 9195) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_constructor_cp437grid_load` checksum `9195`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_constructor_cp437grid_new(); if (checksum != 8874) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_constructor_cp437grid_new` checksum `8874`, library returned `{checksum}`"); } } } } // Public interface members begin here. #pragma warning disable 8625 class FfiConverterUInt8: FfiConverter { public static FfiConverterUInt8 INSTANCE = new FfiConverterUInt8(); public override byte Lift(byte value) { return value; } public override byte Read(BigEndianStream stream) { return stream.ReadByte(); } public override byte Lower(byte value) { return value; } public override int AllocationSize(byte value) { return 1; } public override void Write(byte value, BigEndianStream stream) { stream.WriteByte(value); } } class FfiConverterUInt64: FfiConverter { public static FfiConverterUInt64 INSTANCE = new FfiConverterUInt64(); public override ulong Lift(ulong value) { return value; } public override ulong Read(BigEndianStream stream) { return stream.ReadULong(); } public override ulong Lower(ulong value) { return value; } public override int AllocationSize(ulong value) { return 8; } public override void Write(ulong value, BigEndianStream stream) { stream.WriteULong(value); } } class FfiConverterBoolean: FfiConverter { public static FfiConverterBoolean INSTANCE = new FfiConverterBoolean(); public override bool Lift(sbyte value) { return value != 0; } public override bool Read(BigEndianStream stream) { return Lift(stream.ReadSByte()); } public override sbyte Lower(bool value) { return value ? (sbyte)1 : (sbyte)0; } public override int AllocationSize(bool value) { return (sbyte)1; } public override void Write(bool value, BigEndianStream stream) { stream.WriteSByte(Lower(value)); } } class FfiConverterString: FfiConverter { public static FfiConverterString INSTANCE = new FfiConverterString(); // Note: we don't inherit from FfiConverterRustBuffer, because we use a // special encoding when lowering/lifting. We can use `RustBuffer.len` to // store our length and avoid writing it out to the buffer. public override string Lift(RustBuffer value) { try { var bytes = value.AsStream().ReadBytes(Convert.ToInt32(value.len)); return System.Text.Encoding.UTF8.GetString(bytes); } finally { RustBuffer.Free(value); } } public override string Read(BigEndianStream stream) { var length = stream.ReadInt(); var bytes = stream.ReadBytes(length); return System.Text.Encoding.UTF8.GetString(bytes); } public override RustBuffer Lower(string value) { var bytes = System.Text.Encoding.UTF8.GetBytes(value); var rbuf = RustBuffer.Alloc(bytes.Length); rbuf.AsWriteableStream().WriteBytes(bytes); return rbuf; } // TODO(CS) // We aren't sure exactly how many bytes our string will be once it's UTF-8 // encoded. Allocate 3 bytes per unicode codepoint which will always be // enough. public override int AllocationSize(string value) { const int sizeForLength = 4; var sizeForString = System.Text.Encoding.UTF8.GetByteCount(value); return sizeForLength + sizeForString; } public override void Write(string value, BigEndianStream stream) { var bytes = System.Text.Encoding.UTF8.GetBytes(value); stream.WriteInt(bytes.Length); stream.WriteBytes(bytes); } } class FfiConverterByteArray: FfiConverterRustBuffer { public static FfiConverterByteArray INSTANCE = new FfiConverterByteArray(); public override byte[] Read(BigEndianStream stream) { var length = stream.ReadInt(); return stream.ReadBytes(length); } public override int AllocationSize(byte[] value) { return 4 + value.Length; } public override void Write(byte[] value, BigEndianStream stream) { stream.WriteInt(value.Length); stream.WriteBytes(value); } } public interface IBitVec { byte[] CopyRaw(); bool Equals(BitVec @other); void Fill(bool @value); bool Get(ulong @index); ulong Len(); void Set(ulong @index, bool @value); } public class BitVec : IBitVec, IDisposable { protected IntPtr pointer; private int _wasDestroyed = 0; private long _callCounter = 1; public BitVec(IntPtr pointer) { this.pointer = pointer; } ~BitVec() { Destroy(); } public BitVec(ulong @size) : this( _UniffiHelpers.RustCall( (ref UniffiRustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_constructor_bitvec_new(FfiConverterUInt64.INSTANCE.Lower(@size), ref _status) )) {} protected void FreeRustArcPtr() { _UniffiHelpers.RustCall((ref UniffiRustCallStatus status) => { _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_free_bitvec(this.pointer, ref status); }); } protected IntPtr CloneRustArcPtr() { return _UniffiHelpers.RustCall((ref UniffiRustCallStatus status) => { return _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_clone_bitvec(this.pointer, ref status); }); } public void Destroy() { // Only allow a single call to this method. if (Interlocked.CompareExchange(ref _wasDestroyed, 1, 0) == 0) { // This decrement always matches the initial count of 1 given at creation time. if (Interlocked.Decrement(ref _callCounter) == 0) { FreeRustArcPtr(); } } } public void Dispose() { Destroy(); GC.SuppressFinalize(this); // Suppress finalization to avoid unnecessary GC overhead. } private void IncrementCallCounter() { // Check and increment the call counter, to keep the object alive. // This needs a compare-and-set retry loop in case of concurrent updates. long count; do { count = Interlocked.Read(ref _callCounter); if (count == 0L) throw new System.ObjectDisposedException(String.Format("'{0}' object has already been destroyed", this.GetType().Name)); if (count == long.MaxValue) throw new System.OverflowException(String.Format("'{0}' call counter would overflow", this.GetType().Name)); } while (Interlocked.CompareExchange(ref _callCounter, count + 1, count) != count); } private void DecrementCallCounter() { // This decrement always matches the increment we performed above. if (Interlocked.Decrement(ref _callCounter) == 0) { FreeRustArcPtr(); } } internal void CallWithPointer(Action action) { IncrementCallCounter(); try { action(CloneRustArcPtr()); } finally { DecrementCallCounter(); } } internal T CallWithPointer(Func func) { IncrementCallCounter(); try { return func(CloneRustArcPtr()); } finally { DecrementCallCounter(); } } public byte[] CopyRaw() { return CallWithPointer(thisPtr => FfiConverterByteArray.INSTANCE.Lift( _UniffiHelpers.RustCall( (ref UniffiRustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_method_bitvec_copy_raw(thisPtr, ref _status) ))); } public bool Equals(BitVec @other) { return CallWithPointer(thisPtr => FfiConverterBoolean.INSTANCE.Lift( _UniffiHelpers.RustCall( (ref UniffiRustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_method_bitvec_equals(thisPtr, FfiConverterTypeBitVec.INSTANCE.Lower(@other), ref _status) ))); } public void Fill(bool @value) { CallWithPointer(thisPtr => _UniffiHelpers.RustCall( (ref UniffiRustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_method_bitvec_fill(thisPtr, FfiConverterBoolean.INSTANCE.Lower(@value), ref _status) )); } public bool Get(ulong @index) { return CallWithPointer(thisPtr => FfiConverterBoolean.INSTANCE.Lift( _UniffiHelpers.RustCall( (ref UniffiRustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_method_bitvec_get(thisPtr, FfiConverterUInt64.INSTANCE.Lower(@index), ref _status) ))); } public ulong Len() { return CallWithPointer(thisPtr => FfiConverterUInt64.INSTANCE.Lift( _UniffiHelpers.RustCall( (ref UniffiRustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_method_bitvec_len(thisPtr, ref _status) ))); } public void Set(ulong @index, bool @value) { CallWithPointer(thisPtr => _UniffiHelpers.RustCall( (ref UniffiRustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_method_bitvec_set(thisPtr, FfiConverterUInt64.INSTANCE.Lower(@index), FfiConverterBoolean.INSTANCE.Lower(@value), ref _status) )); } public static BitVec Clone(BitVec @other) { return new BitVec( _UniffiHelpers.RustCall( (ref UniffiRustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_constructor_bitvec_clone(FfiConverterTypeBitVec.INSTANCE.Lower(@other), ref _status) )); } public static BitVec Load(byte[] @data) { return new BitVec( _UniffiHelpers.RustCall( (ref UniffiRustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_constructor_bitvec_load(FfiConverterByteArray.INSTANCE.Lower(@data), ref _status) )); } } class FfiConverterTypeBitVec: FfiConverter { public static FfiConverterTypeBitVec INSTANCE = new FfiConverterTypeBitVec(); public override IntPtr Lower(BitVec value) { return value.CallWithPointer(thisPtr => thisPtr); } public override BitVec Lift(IntPtr value) { return new BitVec(value); } public override BitVec Read(BigEndianStream stream) { return Lift(new IntPtr(stream.ReadLong())); } public override int AllocationSize(BitVec value) { return 8; } public override void Write(BitVec value, BigEndianStream stream) { stream.WriteLong(Lower(value).ToInt64()); } } public interface IBitmap { byte[] CopyRaw(); bool Equals(Bitmap @other); void Fill(bool @value); bool Get(ulong @x, ulong @y); ulong Height(); void Set(ulong @x, ulong @y, bool @value); ulong Width(); } public class Bitmap : IBitmap, IDisposable { protected IntPtr pointer; private int _wasDestroyed = 0; private long _callCounter = 1; public Bitmap(IntPtr pointer) { this.pointer = pointer; } ~Bitmap() { Destroy(); } public Bitmap(ulong @width, ulong @height) : this( _UniffiHelpers.RustCall( (ref UniffiRustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_constructor_bitmap_new(FfiConverterUInt64.INSTANCE.Lower(@width), FfiConverterUInt64.INSTANCE.Lower(@height), ref _status) )) {} protected void FreeRustArcPtr() { _UniffiHelpers.RustCall((ref UniffiRustCallStatus status) => { _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_free_bitmap(this.pointer, ref status); }); } protected IntPtr CloneRustArcPtr() { return _UniffiHelpers.RustCall((ref UniffiRustCallStatus status) => { return _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_clone_bitmap(this.pointer, ref status); }); } public void Destroy() { // Only allow a single call to this method. if (Interlocked.CompareExchange(ref _wasDestroyed, 1, 0) == 0) { // This decrement always matches the initial count of 1 given at creation time. if (Interlocked.Decrement(ref _callCounter) == 0) { FreeRustArcPtr(); } } } public void Dispose() { Destroy(); GC.SuppressFinalize(this); // Suppress finalization to avoid unnecessary GC overhead. } private void IncrementCallCounter() { // Check and increment the call counter, to keep the object alive. // This needs a compare-and-set retry loop in case of concurrent updates. long count; do { count = Interlocked.Read(ref _callCounter); if (count == 0L) throw new System.ObjectDisposedException(String.Format("'{0}' object has already been destroyed", this.GetType().Name)); if (count == long.MaxValue) throw new System.OverflowException(String.Format("'{0}' call counter would overflow", this.GetType().Name)); } while (Interlocked.CompareExchange(ref _callCounter, count + 1, count) != count); } private void DecrementCallCounter() { // This decrement always matches the increment we performed above. if (Interlocked.Decrement(ref _callCounter) == 0) { FreeRustArcPtr(); } } internal void CallWithPointer(Action action) { IncrementCallCounter(); try { action(CloneRustArcPtr()); } finally { DecrementCallCounter(); } } internal T CallWithPointer(Func func) { IncrementCallCounter(); try { return func(CloneRustArcPtr()); } finally { DecrementCallCounter(); } } public byte[] CopyRaw() { return CallWithPointer(thisPtr => FfiConverterByteArray.INSTANCE.Lift( _UniffiHelpers.RustCall( (ref UniffiRustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_method_bitmap_copy_raw(thisPtr, ref _status) ))); } public bool Equals(Bitmap @other) { return CallWithPointer(thisPtr => FfiConverterBoolean.INSTANCE.Lift( _UniffiHelpers.RustCall( (ref UniffiRustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_method_bitmap_equals(thisPtr, FfiConverterTypeBitmap.INSTANCE.Lower(@other), ref _status) ))); } public void Fill(bool @value) { CallWithPointer(thisPtr => _UniffiHelpers.RustCall( (ref UniffiRustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_method_bitmap_fill(thisPtr, FfiConverterBoolean.INSTANCE.Lower(@value), ref _status) )); } public bool Get(ulong @x, ulong @y) { return CallWithPointer(thisPtr => FfiConverterBoolean.INSTANCE.Lift( _UniffiHelpers.RustCall( (ref UniffiRustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_method_bitmap_get(thisPtr, FfiConverterUInt64.INSTANCE.Lower(@x), FfiConverterUInt64.INSTANCE.Lower(@y), ref _status) ))); } public ulong Height() { return CallWithPointer(thisPtr => FfiConverterUInt64.INSTANCE.Lift( _UniffiHelpers.RustCall( (ref UniffiRustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_method_bitmap_height(thisPtr, ref _status) ))); } public void Set(ulong @x, ulong @y, bool @value) { CallWithPointer(thisPtr => _UniffiHelpers.RustCall( (ref UniffiRustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_method_bitmap_set(thisPtr, FfiConverterUInt64.INSTANCE.Lower(@x), FfiConverterUInt64.INSTANCE.Lower(@y), FfiConverterBoolean.INSTANCE.Lower(@value), ref _status) )); } public ulong Width() { return CallWithPointer(thisPtr => FfiConverterUInt64.INSTANCE.Lift( _UniffiHelpers.RustCall( (ref UniffiRustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_method_bitmap_width(thisPtr, ref _status) ))); } public static Bitmap Clone(Bitmap @other) { return new Bitmap( _UniffiHelpers.RustCall( (ref UniffiRustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_constructor_bitmap_clone(FfiConverterTypeBitmap.INSTANCE.Lower(@other), ref _status) )); } public static Bitmap Load(ulong @width, ulong @height, byte[] @data) { return new Bitmap( _UniffiHelpers.RustCall( (ref UniffiRustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_constructor_bitmap_load(FfiConverterUInt64.INSTANCE.Lower(@width), FfiConverterUInt64.INSTANCE.Lower(@height), FfiConverterByteArray.INSTANCE.Lower(@data), ref _status) )); } public static Bitmap NewMaxSized() { return new Bitmap( _UniffiHelpers.RustCall( (ref UniffiRustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_constructor_bitmap_new_max_sized( ref _status) )); } } class FfiConverterTypeBitmap: FfiConverter { public static FfiConverterTypeBitmap INSTANCE = new FfiConverterTypeBitmap(); public override IntPtr Lower(Bitmap value) { return value.CallWithPointer(thisPtr => thisPtr); } public override Bitmap Lift(IntPtr value) { return new Bitmap(value); } public override Bitmap Read(BigEndianStream stream) { return Lift(new IntPtr(stream.ReadLong())); } public override int AllocationSize(Bitmap value) { return 8; } public override void Write(Bitmap value, BigEndianStream stream) { stream.WriteLong(Lower(value).ToInt64()); } } public interface IBrightnessGrid { byte[] CopyRaw(); bool Equals(BrightnessGrid @other); void Fill(byte @value); byte Get(ulong @x, ulong @y); ulong Height(); void Set(ulong @x, ulong @y, byte @value); ulong Width(); } public class BrightnessGrid : IBrightnessGrid, IDisposable { protected IntPtr pointer; private int _wasDestroyed = 0; private long _callCounter = 1; public BrightnessGrid(IntPtr pointer) { this.pointer = pointer; } ~BrightnessGrid() { Destroy(); } public BrightnessGrid(ulong @width, ulong @height) : this( _UniffiHelpers.RustCall( (ref UniffiRustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_constructor_brightnessgrid_new(FfiConverterUInt64.INSTANCE.Lower(@width), FfiConverterUInt64.INSTANCE.Lower(@height), ref _status) )) {} protected void FreeRustArcPtr() { _UniffiHelpers.RustCall((ref UniffiRustCallStatus status) => { _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_free_brightnessgrid(this.pointer, ref status); }); } protected IntPtr CloneRustArcPtr() { return _UniffiHelpers.RustCall((ref UniffiRustCallStatus status) => { return _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_clone_brightnessgrid(this.pointer, ref status); }); } public void Destroy() { // Only allow a single call to this method. if (Interlocked.CompareExchange(ref _wasDestroyed, 1, 0) == 0) { // This decrement always matches the initial count of 1 given at creation time. if (Interlocked.Decrement(ref _callCounter) == 0) { FreeRustArcPtr(); } } } public void Dispose() { Destroy(); GC.SuppressFinalize(this); // Suppress finalization to avoid unnecessary GC overhead. } private void IncrementCallCounter() { // Check and increment the call counter, to keep the object alive. // This needs a compare-and-set retry loop in case of concurrent updates. long count; do { count = Interlocked.Read(ref _callCounter); if (count == 0L) throw new System.ObjectDisposedException(String.Format("'{0}' object has already been destroyed", this.GetType().Name)); if (count == long.MaxValue) throw new System.OverflowException(String.Format("'{0}' call counter would overflow", this.GetType().Name)); } while (Interlocked.CompareExchange(ref _callCounter, count + 1, count) != count); } private void DecrementCallCounter() { // This decrement always matches the increment we performed above. if (Interlocked.Decrement(ref _callCounter) == 0) { FreeRustArcPtr(); } } internal void CallWithPointer(Action action) { IncrementCallCounter(); try { action(CloneRustArcPtr()); } finally { DecrementCallCounter(); } } internal T CallWithPointer(Func func) { IncrementCallCounter(); try { return func(CloneRustArcPtr()); } finally { DecrementCallCounter(); } } public byte[] CopyRaw() { return CallWithPointer(thisPtr => FfiConverterByteArray.INSTANCE.Lift( _UniffiHelpers.RustCall( (ref UniffiRustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_method_brightnessgrid_copy_raw(thisPtr, ref _status) ))); } public bool Equals(BrightnessGrid @other) { return CallWithPointer(thisPtr => FfiConverterBoolean.INSTANCE.Lift( _UniffiHelpers.RustCall( (ref UniffiRustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_method_brightnessgrid_equals(thisPtr, FfiConverterTypeBrightnessGrid.INSTANCE.Lower(@other), ref _status) ))); } public void Fill(byte @value) { CallWithPointer(thisPtr => _UniffiHelpers.RustCall( (ref UniffiRustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_method_brightnessgrid_fill(thisPtr, FfiConverterUInt8.INSTANCE.Lower(@value), ref _status) )); } public byte Get(ulong @x, ulong @y) { return CallWithPointer(thisPtr => FfiConverterUInt8.INSTANCE.Lift( _UniffiHelpers.RustCall( (ref UniffiRustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_method_brightnessgrid_get(thisPtr, FfiConverterUInt64.INSTANCE.Lower(@x), FfiConverterUInt64.INSTANCE.Lower(@y), ref _status) ))); } public ulong Height() { return CallWithPointer(thisPtr => FfiConverterUInt64.INSTANCE.Lift( _UniffiHelpers.RustCall( (ref UniffiRustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_method_brightnessgrid_height(thisPtr, ref _status) ))); } public void Set(ulong @x, ulong @y, byte @value) { CallWithPointer(thisPtr => _UniffiHelpers.RustCall( (ref UniffiRustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_method_brightnessgrid_set(thisPtr, FfiConverterUInt64.INSTANCE.Lower(@x), FfiConverterUInt64.INSTANCE.Lower(@y), FfiConverterUInt8.INSTANCE.Lower(@value), ref _status) )); } public ulong Width() { return CallWithPointer(thisPtr => FfiConverterUInt64.INSTANCE.Lift( _UniffiHelpers.RustCall( (ref UniffiRustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_method_brightnessgrid_width(thisPtr, ref _status) ))); } public static BrightnessGrid Clone(BrightnessGrid @other) { return new BrightnessGrid( _UniffiHelpers.RustCall( (ref UniffiRustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_constructor_brightnessgrid_clone(FfiConverterTypeBrightnessGrid.INSTANCE.Lower(@other), ref _status) )); } public static BrightnessGrid Load(ulong @width, ulong @height, byte[] @data) { return new BrightnessGrid( _UniffiHelpers.RustCall( (ref UniffiRustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_constructor_brightnessgrid_load(FfiConverterUInt64.INSTANCE.Lower(@width), FfiConverterUInt64.INSTANCE.Lower(@height), FfiConverterByteArray.INSTANCE.Lower(@data), ref _status) )); } } class FfiConverterTypeBrightnessGrid: FfiConverter { public static FfiConverterTypeBrightnessGrid INSTANCE = new FfiConverterTypeBrightnessGrid(); public override IntPtr Lower(BrightnessGrid value) { return value.CallWithPointer(thisPtr => thisPtr); } public override BrightnessGrid Lift(IntPtr value) { return new BrightnessGrid(value); } public override BrightnessGrid Read(BigEndianStream stream) { return Lift(new IntPtr(stream.ReadLong())); } public override int AllocationSize(BrightnessGrid value) { return 8; } public override void Write(BrightnessGrid value, BigEndianStream stream) { stream.WriteLong(Lower(value).ToInt64()); } } public interface ICharGrid { string AsString(); bool Equals(CharGrid @other); /// void Fill(string @value); string Get(ulong @x, ulong @y); /// string GetCol(ulong @x); /// string GetRow(ulong @y); ulong Height(); /// void Set(ulong @x, ulong @y, string @value); /// void SetCol(ulong @x, string @col); /// void SetRow(ulong @y, string @row); Cp437Grid ToCp437(); ulong Width(); } public class CharGrid : ICharGrid, IDisposable { protected IntPtr pointer; private int _wasDestroyed = 0; private long _callCounter = 1; public CharGrid(IntPtr pointer) { this.pointer = pointer; } ~CharGrid() { Destroy(); } public CharGrid(ulong @width, ulong @height) : this( _UniffiHelpers.RustCall( (ref UniffiRustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_constructor_chargrid_new(FfiConverterUInt64.INSTANCE.Lower(@width), FfiConverterUInt64.INSTANCE.Lower(@height), ref _status) )) {} protected void FreeRustArcPtr() { _UniffiHelpers.RustCall((ref UniffiRustCallStatus status) => { _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_free_chargrid(this.pointer, ref status); }); } protected IntPtr CloneRustArcPtr() { return _UniffiHelpers.RustCall((ref UniffiRustCallStatus status) => { return _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_clone_chargrid(this.pointer, ref status); }); } public void Destroy() { // Only allow a single call to this method. if (Interlocked.CompareExchange(ref _wasDestroyed, 1, 0) == 0) { // This decrement always matches the initial count of 1 given at creation time. if (Interlocked.Decrement(ref _callCounter) == 0) { FreeRustArcPtr(); } } } public void Dispose() { Destroy(); GC.SuppressFinalize(this); // Suppress finalization to avoid unnecessary GC overhead. } private void IncrementCallCounter() { // Check and increment the call counter, to keep the object alive. // This needs a compare-and-set retry loop in case of concurrent updates. long count; do { count = Interlocked.Read(ref _callCounter); if (count == 0L) throw new System.ObjectDisposedException(String.Format("'{0}' object has already been destroyed", this.GetType().Name)); if (count == long.MaxValue) throw new System.OverflowException(String.Format("'{0}' call counter would overflow", this.GetType().Name)); } while (Interlocked.CompareExchange(ref _callCounter, count + 1, count) != count); } private void DecrementCallCounter() { // This decrement always matches the increment we performed above. if (Interlocked.Decrement(ref _callCounter) == 0) { FreeRustArcPtr(); } } internal void CallWithPointer(Action action) { IncrementCallCounter(); try { action(CloneRustArcPtr()); } finally { DecrementCallCounter(); } } internal T CallWithPointer(Func func) { IncrementCallCounter(); try { return func(CloneRustArcPtr()); } finally { DecrementCallCounter(); } } public string AsString() { return CallWithPointer(thisPtr => FfiConverterString.INSTANCE.Lift( _UniffiHelpers.RustCall( (ref UniffiRustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_method_chargrid_as_string(thisPtr, ref _status) ))); } public bool Equals(CharGrid @other) { return CallWithPointer(thisPtr => FfiConverterBoolean.INSTANCE.Lift( _UniffiHelpers.RustCall( (ref UniffiRustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_method_chargrid_equals(thisPtr, FfiConverterTypeCharGrid.INSTANCE.Lower(@other), ref _status) ))); } /// public void Fill(string @value) { CallWithPointer(thisPtr => _UniffiHelpers.RustCallWithError(FfiConverterTypeCharGridError.INSTANCE, (ref UniffiRustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_method_chargrid_fill(thisPtr, FfiConverterString.INSTANCE.Lower(@value), ref _status) )); } public string Get(ulong @x, ulong @y) { return CallWithPointer(thisPtr => FfiConverterString.INSTANCE.Lift( _UniffiHelpers.RustCall( (ref UniffiRustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_method_chargrid_get(thisPtr, FfiConverterUInt64.INSTANCE.Lower(@x), FfiConverterUInt64.INSTANCE.Lower(@y), ref _status) ))); } /// public string GetCol(ulong @x) { return CallWithPointer(thisPtr => FfiConverterString.INSTANCE.Lift( _UniffiHelpers.RustCallWithError(FfiConverterTypeCharGridError.INSTANCE, (ref UniffiRustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_method_chargrid_get_col(thisPtr, FfiConverterUInt64.INSTANCE.Lower(@x), ref _status) ))); } /// public string GetRow(ulong @y) { return CallWithPointer(thisPtr => FfiConverterString.INSTANCE.Lift( _UniffiHelpers.RustCallWithError(FfiConverterTypeCharGridError.INSTANCE, (ref UniffiRustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_method_chargrid_get_row(thisPtr, FfiConverterUInt64.INSTANCE.Lower(@y), ref _status) ))); } public ulong Height() { return CallWithPointer(thisPtr => FfiConverterUInt64.INSTANCE.Lift( _UniffiHelpers.RustCall( (ref UniffiRustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_method_chargrid_height(thisPtr, ref _status) ))); } /// public void Set(ulong @x, ulong @y, string @value) { CallWithPointer(thisPtr => _UniffiHelpers.RustCallWithError(FfiConverterTypeCharGridError.INSTANCE, (ref UniffiRustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_method_chargrid_set(thisPtr, FfiConverterUInt64.INSTANCE.Lower(@x), FfiConverterUInt64.INSTANCE.Lower(@y), FfiConverterString.INSTANCE.Lower(@value), ref _status) )); } /// public void SetCol(ulong @x, string @col) { CallWithPointer(thisPtr => _UniffiHelpers.RustCallWithError(FfiConverterTypeCharGridError.INSTANCE, (ref UniffiRustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_method_chargrid_set_col(thisPtr, FfiConverterUInt64.INSTANCE.Lower(@x), FfiConverterString.INSTANCE.Lower(@col), ref _status) )); } /// public void SetRow(ulong @y, string @row) { CallWithPointer(thisPtr => _UniffiHelpers.RustCallWithError(FfiConverterTypeCharGridError.INSTANCE, (ref UniffiRustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_method_chargrid_set_row(thisPtr, FfiConverterUInt64.INSTANCE.Lower(@y), FfiConverterString.INSTANCE.Lower(@row), ref _status) )); } public Cp437Grid ToCp437() { return CallWithPointer(thisPtr => FfiConverterTypeCp437Grid.INSTANCE.Lift( _UniffiHelpers.RustCall( (ref UniffiRustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_method_chargrid_to_cp437(thisPtr, ref _status) ))); } public ulong Width() { return CallWithPointer(thisPtr => FfiConverterUInt64.INSTANCE.Lift( _UniffiHelpers.RustCall( (ref UniffiRustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_method_chargrid_width(thisPtr, ref _status) ))); } public static CharGrid Clone(CharGrid @other) { return new CharGrid( _UniffiHelpers.RustCall( (ref UniffiRustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_constructor_chargrid_clone(FfiConverterTypeCharGrid.INSTANCE.Lower(@other), ref _status) )); } public static CharGrid Load(string @data) { return new CharGrid( _UniffiHelpers.RustCall( (ref UniffiRustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_constructor_chargrid_load(FfiConverterString.INSTANCE.Lower(@data), ref _status) )); } } class FfiConverterTypeCharGrid: FfiConverter { public static FfiConverterTypeCharGrid INSTANCE = new FfiConverterTypeCharGrid(); public override IntPtr Lower(CharGrid value) { return value.CallWithPointer(thisPtr => thisPtr); } public override CharGrid Lift(IntPtr value) { return new CharGrid(value); } public override CharGrid Read(BigEndianStream stream) { return Lift(new IntPtr(stream.ReadLong())); } public override int AllocationSize(CharGrid value) { return 8; } public override void Write(CharGrid value, BigEndianStream stream) { stream.WriteLong(Lower(value).ToInt64()); } } public interface ICommand { bool Equals(Command @other); } public class Command : ICommand, IDisposable { protected IntPtr pointer; private int _wasDestroyed = 0; private long _callCounter = 1; public Command(IntPtr pointer) { this.pointer = pointer; } ~Command() { Destroy(); } protected void FreeRustArcPtr() { _UniffiHelpers.RustCall((ref UniffiRustCallStatus status) => { _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_free_command(this.pointer, ref status); }); } protected IntPtr CloneRustArcPtr() { return _UniffiHelpers.RustCall((ref UniffiRustCallStatus status) => { return _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_clone_command(this.pointer, ref status); }); } public void Destroy() { // Only allow a single call to this method. if (Interlocked.CompareExchange(ref _wasDestroyed, 1, 0) == 0) { // This decrement always matches the initial count of 1 given at creation time. if (Interlocked.Decrement(ref _callCounter) == 0) { FreeRustArcPtr(); } } } public void Dispose() { Destroy(); GC.SuppressFinalize(this); // Suppress finalization to avoid unnecessary GC overhead. } private void IncrementCallCounter() { // Check and increment the call counter, to keep the object alive. // This needs a compare-and-set retry loop in case of concurrent updates. long count; do { count = Interlocked.Read(ref _callCounter); if (count == 0L) throw new System.ObjectDisposedException(String.Format("'{0}' object has already been destroyed", this.GetType().Name)); if (count == long.MaxValue) throw new System.OverflowException(String.Format("'{0}' call counter would overflow", this.GetType().Name)); } while (Interlocked.CompareExchange(ref _callCounter, count + 1, count) != count); } private void DecrementCallCounter() { // This decrement always matches the increment we performed above. if (Interlocked.Decrement(ref _callCounter) == 0) { FreeRustArcPtr(); } } internal void CallWithPointer(Action action) { IncrementCallCounter(); try { action(CloneRustArcPtr()); } finally { DecrementCallCounter(); } } internal T CallWithPointer(Func func) { IncrementCallCounter(); try { return func(CloneRustArcPtr()); } finally { DecrementCallCounter(); } } public bool Equals(Command @other) { return CallWithPointer(thisPtr => FfiConverterBoolean.INSTANCE.Lift( _UniffiHelpers.RustCall( (ref UniffiRustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_method_command_equals(thisPtr, FfiConverterTypeCommand.INSTANCE.Lower(@other), ref _status) ))); } public static Command BitmapLinear(ulong @offset, BitVec @bitvec, CompressionCode @compression, BinaryOperation @operation) { return new Command( _UniffiHelpers.RustCall( (ref UniffiRustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_constructor_command_bitmap_linear(FfiConverterUInt64.INSTANCE.Lower(@offset), FfiConverterTypeBitVec.INSTANCE.Lower(@bitvec), FfiConverterTypeCompressionCode.INSTANCE.Lower(@compression), FfiConverterTypeBinaryOperation.INSTANCE.Lower(@operation), ref _status) )); } public static Command BitmapLinearWin(ulong @offsetX, ulong @offsetY, Bitmap @bitmap, CompressionCode @compression) { return new Command( _UniffiHelpers.RustCall( (ref UniffiRustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_constructor_command_bitmap_linear_win(FfiConverterUInt64.INSTANCE.Lower(@offsetX), FfiConverterUInt64.INSTANCE.Lower(@offsetY), FfiConverterTypeBitmap.INSTANCE.Lower(@bitmap), FfiConverterTypeCompressionCode.INSTANCE.Lower(@compression), ref _status) )); } /// public static Command Brightness(byte @brightness) { return new Command( _UniffiHelpers.RustCallWithError(FfiConverterTypeServicePointError.INSTANCE, (ref UniffiRustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_constructor_command_brightness(FfiConverterUInt8.INSTANCE.Lower(@brightness), ref _status) )); } public static Command CharBrightness(ulong @offsetX, ulong @offsetY, BrightnessGrid @grid) { return new Command( _UniffiHelpers.RustCall( (ref UniffiRustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_constructor_command_char_brightness(FfiConverterUInt64.INSTANCE.Lower(@offsetX), FfiConverterUInt64.INSTANCE.Lower(@offsetY), FfiConverterTypeBrightnessGrid.INSTANCE.Lower(@grid), ref _status) )); } public static Command Clear() { return new Command( _UniffiHelpers.RustCall( (ref UniffiRustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_constructor_command_clear( ref _status) )); } public static Command Clone(Command @other) { return new Command( _UniffiHelpers.RustCall( (ref UniffiRustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_constructor_command_clone(FfiConverterTypeCommand.INSTANCE.Lower(@other), ref _status) )); } public static Command Cp437Data(ulong @offsetX, ulong @offsetY, Cp437Grid @grid) { return new Command( _UniffiHelpers.RustCall( (ref UniffiRustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_constructor_command_cp437_data(FfiConverterUInt64.INSTANCE.Lower(@offsetX), FfiConverterUInt64.INSTANCE.Lower(@offsetY), FfiConverterTypeCp437Grid.INSTANCE.Lower(@grid), ref _status) )); } public static Command FadeOut() { return new Command( _UniffiHelpers.RustCall( (ref UniffiRustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_constructor_command_fade_out( ref _status) )); } public static Command HardReset() { return new Command( _UniffiHelpers.RustCall( (ref UniffiRustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_constructor_command_hard_reset( ref _status) )); } public static Command Utf8Data(ulong @offsetX, ulong @offsetY, CharGrid @grid) { return new Command( _UniffiHelpers.RustCall( (ref UniffiRustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_constructor_command_utf8_data(FfiConverterUInt64.INSTANCE.Lower(@offsetX), FfiConverterUInt64.INSTANCE.Lower(@offsetY), FfiConverterTypeCharGrid.INSTANCE.Lower(@grid), ref _status) )); } } class FfiConverterTypeCommand: FfiConverter { public static FfiConverterTypeCommand INSTANCE = new FfiConverterTypeCommand(); public override IntPtr Lower(Command value) { return value.CallWithPointer(thisPtr => thisPtr); } public override Command Lift(IntPtr value) { return new Command(value); } public override Command Read(BigEndianStream stream) { return Lift(new IntPtr(stream.ReadLong())); } public override int AllocationSize(Command value) { return 8; } public override void Write(Command value, BigEndianStream stream) { stream.WriteLong(Lower(value).ToInt64()); } } public interface IConnection { /// void Send(Command @command); } public class Connection : IConnection, IDisposable { protected IntPtr pointer; private int _wasDestroyed = 0; private long _callCounter = 1; public Connection(IntPtr pointer) { this.pointer = pointer; } ~Connection() { Destroy(); } public Connection(string @host) : this( _UniffiHelpers.RustCallWithError(FfiConverterTypeServicePointError.INSTANCE, (ref UniffiRustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_constructor_connection_new(FfiConverterString.INSTANCE.Lower(@host), ref _status) )) {} protected void FreeRustArcPtr() { _UniffiHelpers.RustCall((ref UniffiRustCallStatus status) => { _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_free_connection(this.pointer, ref status); }); } protected IntPtr CloneRustArcPtr() { return _UniffiHelpers.RustCall((ref UniffiRustCallStatus status) => { return _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_clone_connection(this.pointer, ref status); }); } public void Destroy() { // Only allow a single call to this method. if (Interlocked.CompareExchange(ref _wasDestroyed, 1, 0) == 0) { // This decrement always matches the initial count of 1 given at creation time. if (Interlocked.Decrement(ref _callCounter) == 0) { FreeRustArcPtr(); } } } public void Dispose() { Destroy(); GC.SuppressFinalize(this); // Suppress finalization to avoid unnecessary GC overhead. } private void IncrementCallCounter() { // Check and increment the call counter, to keep the object alive. // This needs a compare-and-set retry loop in case of concurrent updates. long count; do { count = Interlocked.Read(ref _callCounter); if (count == 0L) throw new System.ObjectDisposedException(String.Format("'{0}' object has already been destroyed", this.GetType().Name)); if (count == long.MaxValue) throw new System.OverflowException(String.Format("'{0}' call counter would overflow", this.GetType().Name)); } while (Interlocked.CompareExchange(ref _callCounter, count + 1, count) != count); } private void DecrementCallCounter() { // This decrement always matches the increment we performed above. if (Interlocked.Decrement(ref _callCounter) == 0) { FreeRustArcPtr(); } } internal void CallWithPointer(Action action) { IncrementCallCounter(); try { action(CloneRustArcPtr()); } finally { DecrementCallCounter(); } } internal T CallWithPointer(Func func) { IncrementCallCounter(); try { return func(CloneRustArcPtr()); } finally { DecrementCallCounter(); } } /// public void Send(Command @command) { CallWithPointer(thisPtr => _UniffiHelpers.RustCallWithError(FfiConverterTypeServicePointError.INSTANCE, (ref UniffiRustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_method_connection_send(thisPtr, FfiConverterTypeCommand.INSTANCE.Lower(@command), ref _status) )); } } class FfiConverterTypeConnection: FfiConverter { public static FfiConverterTypeConnection INSTANCE = new FfiConverterTypeConnection(); public override IntPtr Lower(Connection value) { return value.CallWithPointer(thisPtr => thisPtr); } public override Connection Lift(IntPtr value) { return new Connection(value); } public override Connection Read(BigEndianStream stream) { return Lift(new IntPtr(stream.ReadLong())); } public override int AllocationSize(Connection value) { return 8; } public override void Write(Connection value, BigEndianStream stream) { stream.WriteLong(Lower(value).ToInt64()); } } public interface ICp437Grid { byte[] CopyRaw(); bool Equals(Cp437Grid @other); void Fill(byte @value); byte Get(ulong @x, ulong @y); ulong Height(); void Set(ulong @x, ulong @y, byte @value); CharGrid ToUtf8(); ulong Width(); } public class Cp437Grid : ICp437Grid, IDisposable { protected IntPtr pointer; private int _wasDestroyed = 0; private long _callCounter = 1; public Cp437Grid(IntPtr pointer) { this.pointer = pointer; } ~Cp437Grid() { Destroy(); } public Cp437Grid(ulong @width, ulong @height) : this( _UniffiHelpers.RustCall( (ref UniffiRustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_constructor_cp437grid_new(FfiConverterUInt64.INSTANCE.Lower(@width), FfiConverterUInt64.INSTANCE.Lower(@height), ref _status) )) {} protected void FreeRustArcPtr() { _UniffiHelpers.RustCall((ref UniffiRustCallStatus status) => { _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_free_cp437grid(this.pointer, ref status); }); } protected IntPtr CloneRustArcPtr() { return _UniffiHelpers.RustCall((ref UniffiRustCallStatus status) => { return _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_clone_cp437grid(this.pointer, ref status); }); } public void Destroy() { // Only allow a single call to this method. if (Interlocked.CompareExchange(ref _wasDestroyed, 1, 0) == 0) { // This decrement always matches the initial count of 1 given at creation time. if (Interlocked.Decrement(ref _callCounter) == 0) { FreeRustArcPtr(); } } } public void Dispose() { Destroy(); GC.SuppressFinalize(this); // Suppress finalization to avoid unnecessary GC overhead. } private void IncrementCallCounter() { // Check and increment the call counter, to keep the object alive. // This needs a compare-and-set retry loop in case of concurrent updates. long count; do { count = Interlocked.Read(ref _callCounter); if (count == 0L) throw new System.ObjectDisposedException(String.Format("'{0}' object has already been destroyed", this.GetType().Name)); if (count == long.MaxValue) throw new System.OverflowException(String.Format("'{0}' call counter would overflow", this.GetType().Name)); } while (Interlocked.CompareExchange(ref _callCounter, count + 1, count) != count); } private void DecrementCallCounter() { // This decrement always matches the increment we performed above. if (Interlocked.Decrement(ref _callCounter) == 0) { FreeRustArcPtr(); } } internal void CallWithPointer(Action action) { IncrementCallCounter(); try { action(CloneRustArcPtr()); } finally { DecrementCallCounter(); } } internal T CallWithPointer(Func func) { IncrementCallCounter(); try { return func(CloneRustArcPtr()); } finally { DecrementCallCounter(); } } public byte[] CopyRaw() { return CallWithPointer(thisPtr => FfiConverterByteArray.INSTANCE.Lift( _UniffiHelpers.RustCall( (ref UniffiRustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_method_cp437grid_copy_raw(thisPtr, ref _status) ))); } public bool Equals(Cp437Grid @other) { return CallWithPointer(thisPtr => FfiConverterBoolean.INSTANCE.Lift( _UniffiHelpers.RustCall( (ref UniffiRustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_method_cp437grid_equals(thisPtr, FfiConverterTypeCp437Grid.INSTANCE.Lower(@other), ref _status) ))); } public void Fill(byte @value) { CallWithPointer(thisPtr => _UniffiHelpers.RustCall( (ref UniffiRustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_method_cp437grid_fill(thisPtr, FfiConverterUInt8.INSTANCE.Lower(@value), ref _status) )); } public byte Get(ulong @x, ulong @y) { return CallWithPointer(thisPtr => FfiConverterUInt8.INSTANCE.Lift( _UniffiHelpers.RustCall( (ref UniffiRustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_method_cp437grid_get(thisPtr, FfiConverterUInt64.INSTANCE.Lower(@x), FfiConverterUInt64.INSTANCE.Lower(@y), ref _status) ))); } public ulong Height() { return CallWithPointer(thisPtr => FfiConverterUInt64.INSTANCE.Lift( _UniffiHelpers.RustCall( (ref UniffiRustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_method_cp437grid_height(thisPtr, ref _status) ))); } public void Set(ulong @x, ulong @y, byte @value) { CallWithPointer(thisPtr => _UniffiHelpers.RustCall( (ref UniffiRustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_method_cp437grid_set(thisPtr, FfiConverterUInt64.INSTANCE.Lower(@x), FfiConverterUInt64.INSTANCE.Lower(@y), FfiConverterUInt8.INSTANCE.Lower(@value), ref _status) )); } public CharGrid ToUtf8() { return CallWithPointer(thisPtr => FfiConverterTypeCharGrid.INSTANCE.Lift( _UniffiHelpers.RustCall( (ref UniffiRustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_method_cp437grid_to_utf8(thisPtr, ref _status) ))); } public ulong Width() { return CallWithPointer(thisPtr => FfiConverterUInt64.INSTANCE.Lift( _UniffiHelpers.RustCall( (ref UniffiRustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_method_cp437grid_width(thisPtr, ref _status) ))); } public static Cp437Grid Clone(Cp437Grid @other) { return new Cp437Grid( _UniffiHelpers.RustCall( (ref UniffiRustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_constructor_cp437grid_clone(FfiConverterTypeCp437Grid.INSTANCE.Lower(@other), ref _status) )); } public static Cp437Grid Load(ulong @width, ulong @height, byte[] @data) { return new Cp437Grid( _UniffiHelpers.RustCall( (ref UniffiRustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_constructor_cp437grid_load(FfiConverterUInt64.INSTANCE.Lower(@width), FfiConverterUInt64.INSTANCE.Lower(@height), FfiConverterByteArray.INSTANCE.Lower(@data), ref _status) )); } } class FfiConverterTypeCp437Grid: FfiConverter { public static FfiConverterTypeCp437Grid INSTANCE = new FfiConverterTypeCp437Grid(); public override IntPtr Lower(Cp437Grid value) { return value.CallWithPointer(thisPtr => thisPtr); } public override Cp437Grid Lift(IntPtr value) { return new Cp437Grid(value); } public override Cp437Grid Read(BigEndianStream stream) { return Lift(new IntPtr(stream.ReadLong())); } public override int AllocationSize(Cp437Grid value) { return 8; } public override void Write(Cp437Grid value, BigEndianStream stream) { stream.WriteLong(Lower(value).ToInt64()); } } public record Constants ( ulong @tileSize, ulong @tileWidth, ulong @tileHeight, ulong @pixelWidth, ulong @pixelHeight, ulong @pixelCount ) { } class FfiConverterTypeConstants: FfiConverterRustBuffer { public static FfiConverterTypeConstants INSTANCE = new FfiConverterTypeConstants(); public override Constants Read(BigEndianStream stream) { return new Constants( @tileSize: FfiConverterUInt64.INSTANCE.Read(stream), @tileWidth: FfiConverterUInt64.INSTANCE.Read(stream), @tileHeight: FfiConverterUInt64.INSTANCE.Read(stream), @pixelWidth: FfiConverterUInt64.INSTANCE.Read(stream), @pixelHeight: FfiConverterUInt64.INSTANCE.Read(stream), @pixelCount: FfiConverterUInt64.INSTANCE.Read(stream) ); } public override int AllocationSize(Constants value) { return 0 + FfiConverterUInt64.INSTANCE.AllocationSize(value.@tileSize) + FfiConverterUInt64.INSTANCE.AllocationSize(value.@tileWidth) + FfiConverterUInt64.INSTANCE.AllocationSize(value.@tileHeight) + FfiConverterUInt64.INSTANCE.AllocationSize(value.@pixelWidth) + FfiConverterUInt64.INSTANCE.AllocationSize(value.@pixelHeight) + FfiConverterUInt64.INSTANCE.AllocationSize(value.@pixelCount); } public override void Write(Constants value, BigEndianStream stream) { FfiConverterUInt64.INSTANCE.Write(value.@tileSize, stream); FfiConverterUInt64.INSTANCE.Write(value.@tileWidth, stream); FfiConverterUInt64.INSTANCE.Write(value.@tileHeight, stream); FfiConverterUInt64.INSTANCE.Write(value.@pixelWidth, stream); FfiConverterUInt64.INSTANCE.Write(value.@pixelHeight, stream); FfiConverterUInt64.INSTANCE.Write(value.@pixelCount, stream); } } public enum BinaryOperation: int { Overwrite, And, Or, Xor } class FfiConverterTypeBinaryOperation: FfiConverterRustBuffer { public static FfiConverterTypeBinaryOperation INSTANCE = new FfiConverterTypeBinaryOperation(); public override BinaryOperation Read(BigEndianStream stream) { var value = stream.ReadInt() - 1; if (Enum.IsDefined(typeof(BinaryOperation), value)) { return (BinaryOperation)value; } else { throw new InternalException(String.Format("invalid enum value '{0}' in FfiConverterTypeBinaryOperation.Read()", value)); } } public override int AllocationSize(BinaryOperation value) { return 4; } public override void Write(BinaryOperation value, BigEndianStream stream) { stream.WriteInt((int)value + 1); } } public class CharGridException: UniffiException { CharGridException() : base() {} CharGridException(String @Message) : base(@Message) {} // Each variant is a nested class public class StringNotOneChar : CharGridException { // Members public string @value; // Constructor public StringNotOneChar( string @value) : base( "@value" + "=" + @value) { this.@value = @value; } } public class InvalidSeriesLength : CharGridException { // Members public ulong @actual; public ulong @expected; // Constructor public InvalidSeriesLength( ulong @actual, ulong @expected) : base( "@actual" + "=" + @actual+ ", " + "@expected" + "=" + @expected) { this.@actual = @actual; this.@expected = @expected; } } public class OutOfBounds : CharGridException { // Members public ulong @index; public ulong @size; // Constructor public OutOfBounds( ulong @index, ulong @size) : base( "@index" + "=" + @index+ ", " + "@size" + "=" + @size) { this.@index = @index; this.@size = @size; } } } class FfiConverterTypeCharGridError : FfiConverterRustBuffer, CallStatusErrorHandler { public static FfiConverterTypeCharGridError INSTANCE = new FfiConverterTypeCharGridError(); public override CharGridException Read(BigEndianStream stream) { var value = stream.ReadInt(); switch (value) { case 1: return new CharGridException.StringNotOneChar( FfiConverterString.INSTANCE.Read(stream)); case 2: return new CharGridException.InvalidSeriesLength( FfiConverterUInt64.INSTANCE.Read(stream), FfiConverterUInt64.INSTANCE.Read(stream)); case 3: return new CharGridException.OutOfBounds( FfiConverterUInt64.INSTANCE.Read(stream), FfiConverterUInt64.INSTANCE.Read(stream)); default: throw new InternalException(String.Format("invalid error value '{0}' in FfiConverterTypeCharGridError.Read()", value)); } } public override int AllocationSize(CharGridException value) { switch (value) { case CharGridException.StringNotOneChar variant_value: return 4 + FfiConverterString.INSTANCE.AllocationSize(variant_value.@value); case CharGridException.InvalidSeriesLength variant_value: return 4 + FfiConverterUInt64.INSTANCE.AllocationSize(variant_value.@actual) + FfiConverterUInt64.INSTANCE.AllocationSize(variant_value.@expected); case CharGridException.OutOfBounds variant_value: return 4 + FfiConverterUInt64.INSTANCE.AllocationSize(variant_value.@index) + FfiConverterUInt64.INSTANCE.AllocationSize(variant_value.@size); default: throw new InternalException(String.Format("invalid error value '{0}' in FfiConverterTypeCharGridError.AllocationSize()", value)); } } public override void Write(CharGridException value, BigEndianStream stream) { switch (value) { case CharGridException.StringNotOneChar variant_value: stream.WriteInt(1); FfiConverterString.INSTANCE.Write(variant_value.@value, stream); break; case CharGridException.InvalidSeriesLength variant_value: stream.WriteInt(2); FfiConverterUInt64.INSTANCE.Write(variant_value.@actual, stream); FfiConverterUInt64.INSTANCE.Write(variant_value.@expected, stream); break; case CharGridException.OutOfBounds variant_value: stream.WriteInt(3); FfiConverterUInt64.INSTANCE.Write(variant_value.@index, stream); FfiConverterUInt64.INSTANCE.Write(variant_value.@size, stream); break; default: throw new InternalException(String.Format("invalid error value '{0}' in FfiConverterTypeCharGridError.Write()", value)); } } } public enum CompressionCode: int { /// /// no compression /// Uncompressed, /// /// compress using flate2 with zlib header /// Zlib, /// /// compress using bzip2 /// Bzip2, /// /// compress using lzma /// Lzma, /// /// compress using Zstandard /// Zstd } class FfiConverterTypeCompressionCode: FfiConverterRustBuffer { public static FfiConverterTypeCompressionCode INSTANCE = new FfiConverterTypeCompressionCode(); public override CompressionCode Read(BigEndianStream stream) { var value = stream.ReadInt() - 1; if (Enum.IsDefined(typeof(CompressionCode), value)) { return (CompressionCode)value; } else { throw new InternalException(String.Format("invalid enum value '{0}' in FfiConverterTypeCompressionCode.Read()", value)); } } public override int AllocationSize(CompressionCode value) { return 4; } public override void Write(CompressionCode value, BigEndianStream stream) { stream.WriteInt((int)value + 1); } } public class ServicePointException: UniffiException { ServicePointException() : base() {} ServicePointException(String @Message) : base(@Message) {} // Each variant is a nested class public class IoException : ServicePointException { // Members public string @error; // Constructor public IoException( string @error) : base( "@error" + "=" + @error) { this.@error = @error; } } public class InvalidBrightness : ServicePointException { // Members public byte @value; // Constructor public InvalidBrightness( byte @value) : base( "@value" + "=" + @value) { this.@value = @value; } } } class FfiConverterTypeServicePointError : FfiConverterRustBuffer, CallStatusErrorHandler { public static FfiConverterTypeServicePointError INSTANCE = new FfiConverterTypeServicePointError(); public override ServicePointException Read(BigEndianStream stream) { var value = stream.ReadInt(); switch (value) { case 1: return new ServicePointException.IoException( FfiConverterString.INSTANCE.Read(stream)); case 2: return new ServicePointException.InvalidBrightness( FfiConverterUInt8.INSTANCE.Read(stream)); default: throw new InternalException(String.Format("invalid error value '{0}' in FfiConverterTypeServicePointError.Read()", value)); } } public override int AllocationSize(ServicePointException value) { switch (value) { case ServicePointException.IoException variant_value: return 4 + FfiConverterString.INSTANCE.AllocationSize(variant_value.@error); case ServicePointException.InvalidBrightness variant_value: return 4 + FfiConverterUInt8.INSTANCE.AllocationSize(variant_value.@value); default: throw new InternalException(String.Format("invalid error value '{0}' in FfiConverterTypeServicePointError.AllocationSize()", value)); } } public override void Write(ServicePointException value, BigEndianStream stream) { switch (value) { case ServicePointException.IoException variant_value: stream.WriteInt(1); FfiConverterString.INSTANCE.Write(variant_value.@error, stream); break; case ServicePointException.InvalidBrightness variant_value: stream.WriteInt(2); FfiConverterUInt8.INSTANCE.Write(variant_value.@value, stream); break; default: throw new InternalException(String.Format("invalid error value '{0}' in FfiConverterTypeServicePointError.Write()", value)); } } } #pragma warning restore 8625 public static class ServicepointBindingUniffiMethods { public static Constants GetConstants() { return FfiConverterTypeConstants.INSTANCE.Lift( _UniffiHelpers.RustCall( (ref UniffiRustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_func_get_constants( ref _status) )); } }