// // This file was generated by uniffi-bindgen-cs v0.8.3+v0.25.0 // 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; 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 int capacity; public int len; public IntPtr data; public static RustBuffer Alloc(int size) { return _UniffiHelpers.RustCall((ref RustCallStatus status) => { var buffer = _UniFFILib.ffi_servicepoint_binding_uniffi_rustbuffer_alloc(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 RustCallStatus status) => { _UniFFILib.ffi_servicepoint_binding_uniffi_rustbuffer_free(buffer, ref status); }); } public static BigEndianStream MemoryStream(IntPtr data, int length) { unsafe { return new BigEndianStream(new UnmanagedMemoryStream((byte*)data.ToPointer(), length)); } } public BigEndianStream AsStream() { unsafe { return new BigEndianStream(new UnmanagedMemoryStream((byte*)data.ToPointer(), len)); } } public BigEndianStream AsWriteableStream() { unsafe { return new BigEndianStream(new UnmanagedMemoryStream((byte*)data.ToPointer(), capacity, 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.ToInt32(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 RustCallStatus { 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: 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: 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 RustCallStatus status); public delegate U RustCallFunc(ref RustCallStatus 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 RustCallStatus(); 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 RustCallStatus 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 RustCallStatus status) => { callback(ref status); return 0; }); } } // Big endian streams are not yet available in dotnet :'( // https://github.com/dotnet/runtime/issues/26904 class StreamUnderflowException: 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 which will be called internally by the public API. static class _UniFFILib { static _UniFFILib() { _UniFFILib.uniffiCheckContractApiVersion(); _UniFFILib.uniffiCheckApiChecksums(); } [DllImport("servicepoint_binding_uniffi")] public static extern void uniffi_servicepoint_binding_uniffi_fn_free_bitvec( IntPtr ptr,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern BitVecSafeHandle uniffi_servicepoint_binding_uniffi_fn_constructor_bitvec_clone(BitVecSafeHandle @other,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern BitVecSafeHandle uniffi_servicepoint_binding_uniffi_fn_constructor_bitvec_load(RustBuffer @data,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern BitVecSafeHandle uniffi_servicepoint_binding_uniffi_fn_constructor_bitvec_new(ulong @size,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern RustBuffer uniffi_servicepoint_binding_uniffi_fn_method_bitvec_copy_raw(BitVecSafeHandle @ptr,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern sbyte uniffi_servicepoint_binding_uniffi_fn_method_bitvec_equals(BitVecSafeHandle @ptr,BitVecSafeHandle @other,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern void uniffi_servicepoint_binding_uniffi_fn_method_bitvec_fill(BitVecSafeHandle @ptr,sbyte @value,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern sbyte uniffi_servicepoint_binding_uniffi_fn_method_bitvec_get(BitVecSafeHandle @ptr,ulong @index,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern ulong uniffi_servicepoint_binding_uniffi_fn_method_bitvec_len(BitVecSafeHandle @ptr,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern void uniffi_servicepoint_binding_uniffi_fn_method_bitvec_set(BitVecSafeHandle @ptr,ulong @index,sbyte @value,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern void uniffi_servicepoint_binding_uniffi_fn_free_bitmap( IntPtr ptr,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern BitmapSafeHandle uniffi_servicepoint_binding_uniffi_fn_constructor_bitmap_clone(BitmapSafeHandle @other,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern BitmapSafeHandle uniffi_servicepoint_binding_uniffi_fn_constructor_bitmap_load(ulong @width,ulong @height,RustBuffer @data,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern BitmapSafeHandle uniffi_servicepoint_binding_uniffi_fn_constructor_bitmap_new(ulong @width,ulong @height,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern BitmapSafeHandle uniffi_servicepoint_binding_uniffi_fn_constructor_bitmap_new_max_sized(ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern RustBuffer uniffi_servicepoint_binding_uniffi_fn_method_bitmap_copy_raw(BitmapSafeHandle @ptr,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern sbyte uniffi_servicepoint_binding_uniffi_fn_method_bitmap_equals(BitmapSafeHandle @ptr,BitmapSafeHandle @other,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern void uniffi_servicepoint_binding_uniffi_fn_method_bitmap_fill(BitmapSafeHandle @ptr,sbyte @value,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern sbyte uniffi_servicepoint_binding_uniffi_fn_method_bitmap_get(BitmapSafeHandle @ptr,ulong @x,ulong @y,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern ulong uniffi_servicepoint_binding_uniffi_fn_method_bitmap_height(BitmapSafeHandle @ptr,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern void uniffi_servicepoint_binding_uniffi_fn_method_bitmap_set(BitmapSafeHandle @ptr,ulong @x,ulong @y,sbyte @value,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern ulong uniffi_servicepoint_binding_uniffi_fn_method_bitmap_width(BitmapSafeHandle @ptr,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern void uniffi_servicepoint_binding_uniffi_fn_free_brightnessgrid( IntPtr ptr,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern BrightnessGridSafeHandle uniffi_servicepoint_binding_uniffi_fn_constructor_brightnessgrid_clone(BrightnessGridSafeHandle @other,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern BrightnessGridSafeHandle uniffi_servicepoint_binding_uniffi_fn_constructor_brightnessgrid_load(ulong @width,ulong @height,RustBuffer @data,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern BrightnessGridSafeHandle uniffi_servicepoint_binding_uniffi_fn_constructor_brightnessgrid_new(ulong @width,ulong @height,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern RustBuffer uniffi_servicepoint_binding_uniffi_fn_method_brightnessgrid_copy_raw(BrightnessGridSafeHandle @ptr,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern sbyte uniffi_servicepoint_binding_uniffi_fn_method_brightnessgrid_equals(BrightnessGridSafeHandle @ptr,BrightnessGridSafeHandle @other,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern void uniffi_servicepoint_binding_uniffi_fn_method_brightnessgrid_fill(BrightnessGridSafeHandle @ptr,byte @value,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern byte uniffi_servicepoint_binding_uniffi_fn_method_brightnessgrid_get(BrightnessGridSafeHandle @ptr,ulong @x,ulong @y,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern ulong uniffi_servicepoint_binding_uniffi_fn_method_brightnessgrid_height(BrightnessGridSafeHandle @ptr,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern void uniffi_servicepoint_binding_uniffi_fn_method_brightnessgrid_set(BrightnessGridSafeHandle @ptr,ulong @x,ulong @y,byte @value,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern ulong uniffi_servicepoint_binding_uniffi_fn_method_brightnessgrid_width(BrightnessGridSafeHandle @ptr,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern void uniffi_servicepoint_binding_uniffi_fn_free_chargrid( IntPtr ptr,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern CharGridSafeHandle uniffi_servicepoint_binding_uniffi_fn_constructor_chargrid_clone(CharGridSafeHandle @other,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern CharGridSafeHandle uniffi_servicepoint_binding_uniffi_fn_constructor_chargrid_load(RustBuffer @data,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern CharGridSafeHandle uniffi_servicepoint_binding_uniffi_fn_constructor_chargrid_new(ulong @width,ulong @height,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern RustBuffer uniffi_servicepoint_binding_uniffi_fn_method_chargrid_as_string(CharGridSafeHandle @ptr,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern sbyte uniffi_servicepoint_binding_uniffi_fn_method_chargrid_equals(CharGridSafeHandle @ptr,CharGridSafeHandle @other,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern void uniffi_servicepoint_binding_uniffi_fn_method_chargrid_fill(CharGridSafeHandle @ptr,RustBuffer @value,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern RustBuffer uniffi_servicepoint_binding_uniffi_fn_method_chargrid_get(CharGridSafeHandle @ptr,ulong @x,ulong @y,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern RustBuffer uniffi_servicepoint_binding_uniffi_fn_method_chargrid_get_col(CharGridSafeHandle @ptr,ulong @x,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern RustBuffer uniffi_servicepoint_binding_uniffi_fn_method_chargrid_get_row(CharGridSafeHandle @ptr,ulong @y,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern ulong uniffi_servicepoint_binding_uniffi_fn_method_chargrid_height(CharGridSafeHandle @ptr,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern void uniffi_servicepoint_binding_uniffi_fn_method_chargrid_set(CharGridSafeHandle @ptr,ulong @x,ulong @y,RustBuffer @value,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern void uniffi_servicepoint_binding_uniffi_fn_method_chargrid_set_col(CharGridSafeHandle @ptr,ulong @x,RustBuffer @col,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern void uniffi_servicepoint_binding_uniffi_fn_method_chargrid_set_row(CharGridSafeHandle @ptr,ulong @y,RustBuffer @row,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern Cp437GridSafeHandle uniffi_servicepoint_binding_uniffi_fn_method_chargrid_to_cp437(CharGridSafeHandle @ptr,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern ulong uniffi_servicepoint_binding_uniffi_fn_method_chargrid_width(CharGridSafeHandle @ptr,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern void uniffi_servicepoint_binding_uniffi_fn_free_command( IntPtr ptr,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern CommandSafeHandle uniffi_servicepoint_binding_uniffi_fn_constructor_command_bitmap_linear(ulong @offset,BitVecSafeHandle @bitmap,RustBuffer @compression,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern CommandSafeHandle uniffi_servicepoint_binding_uniffi_fn_constructor_command_bitmap_linear_and(ulong @offset,BitVecSafeHandle @bitmap,RustBuffer @compression,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern CommandSafeHandle uniffi_servicepoint_binding_uniffi_fn_constructor_command_bitmap_linear_or(ulong @offset,BitVecSafeHandle @bitmap,RustBuffer @compression,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern CommandSafeHandle uniffi_servicepoint_binding_uniffi_fn_constructor_command_bitmap_linear_win(ulong @offsetX,ulong @offsetY,BitmapSafeHandle @bitmap,RustBuffer @compression,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern CommandSafeHandle uniffi_servicepoint_binding_uniffi_fn_constructor_command_bitmap_linear_xor(ulong @offset,BitVecSafeHandle @bitmap,RustBuffer @compression,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern CommandSafeHandle uniffi_servicepoint_binding_uniffi_fn_constructor_command_brightness(byte @brightness,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern CommandSafeHandle uniffi_servicepoint_binding_uniffi_fn_constructor_command_char_brightness(ulong @offsetX,ulong @offsetY,BrightnessGridSafeHandle @grid,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern CommandSafeHandle uniffi_servicepoint_binding_uniffi_fn_constructor_command_clear(ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern CommandSafeHandle uniffi_servicepoint_binding_uniffi_fn_constructor_command_clone(CommandSafeHandle @other,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern CommandSafeHandle uniffi_servicepoint_binding_uniffi_fn_constructor_command_cp437_data(ulong @offsetX,ulong @offsetY,Cp437GridSafeHandle @grid,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern CommandSafeHandle uniffi_servicepoint_binding_uniffi_fn_constructor_command_fade_out(ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern CommandSafeHandle uniffi_servicepoint_binding_uniffi_fn_constructor_command_hard_reset(ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern CommandSafeHandle uniffi_servicepoint_binding_uniffi_fn_constructor_command_utf8_data(ulong @offsetX,ulong @offsetY,CharGridSafeHandle @grid,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern sbyte uniffi_servicepoint_binding_uniffi_fn_method_command_equals(CommandSafeHandle @ptr,CommandSafeHandle @other,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern void uniffi_servicepoint_binding_uniffi_fn_free_connection( IntPtr ptr,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern ConnectionSafeHandle uniffi_servicepoint_binding_uniffi_fn_constructor_connection_new(RustBuffer @host,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern ConnectionSafeHandle uniffi_servicepoint_binding_uniffi_fn_constructor_connection_new_fake(ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern void uniffi_servicepoint_binding_uniffi_fn_method_connection_send(ConnectionSafeHandle @ptr,CommandSafeHandle @command,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern void uniffi_servicepoint_binding_uniffi_fn_free_cp437grid( IntPtr ptr,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern Cp437GridSafeHandle uniffi_servicepoint_binding_uniffi_fn_constructor_cp437grid_clone(Cp437GridSafeHandle @other,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern Cp437GridSafeHandle uniffi_servicepoint_binding_uniffi_fn_constructor_cp437grid_load(ulong @width,ulong @height,RustBuffer @data,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern Cp437GridSafeHandle uniffi_servicepoint_binding_uniffi_fn_constructor_cp437grid_new(ulong @width,ulong @height,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern RustBuffer uniffi_servicepoint_binding_uniffi_fn_method_cp437grid_copy_raw(Cp437GridSafeHandle @ptr,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern sbyte uniffi_servicepoint_binding_uniffi_fn_method_cp437grid_equals(Cp437GridSafeHandle @ptr,Cp437GridSafeHandle @other,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern void uniffi_servicepoint_binding_uniffi_fn_method_cp437grid_fill(Cp437GridSafeHandle @ptr,byte @value,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern byte uniffi_servicepoint_binding_uniffi_fn_method_cp437grid_get(Cp437GridSafeHandle @ptr,ulong @x,ulong @y,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern ulong uniffi_servicepoint_binding_uniffi_fn_method_cp437grid_height(Cp437GridSafeHandle @ptr,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern void uniffi_servicepoint_binding_uniffi_fn_method_cp437grid_set(Cp437GridSafeHandle @ptr,ulong @x,ulong @y,byte @value,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern CharGridSafeHandle uniffi_servicepoint_binding_uniffi_fn_method_cp437grid_to_utf8(Cp437GridSafeHandle @ptr,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern ulong uniffi_servicepoint_binding_uniffi_fn_method_cp437grid_width(Cp437GridSafeHandle @ptr,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern RustBuffer uniffi_servicepoint_binding_uniffi_fn_func_get_constants(ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern RustBuffer ffi_servicepoint_binding_uniffi_rustbuffer_alloc(int @size,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern RustBuffer ffi_servicepoint_binding_uniffi_rustbuffer_from_bytes(ForeignBytes @bytes,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern void ffi_servicepoint_binding_uniffi_rustbuffer_free(RustBuffer @buf,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern RustBuffer ffi_servicepoint_binding_uniffi_rustbuffer_reserve(RustBuffer @buf,int @additional,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern void ffi_servicepoint_binding_uniffi_rust_future_continuation_callback_set(IntPtr @callback ); [DllImport("servicepoint_binding_uniffi")] public static extern void ffi_servicepoint_binding_uniffi_rust_future_poll_u8(IntPtr @handle,IntPtr @uniffiCallback ); [DllImport("servicepoint_binding_uniffi")] public static extern void ffi_servicepoint_binding_uniffi_rust_future_cancel_u8(IntPtr @handle ); [DllImport("servicepoint_binding_uniffi")] public static extern void ffi_servicepoint_binding_uniffi_rust_future_free_u8(IntPtr @handle ); [DllImport("servicepoint_binding_uniffi")] public static extern byte ffi_servicepoint_binding_uniffi_rust_future_complete_u8(IntPtr @handle,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern void ffi_servicepoint_binding_uniffi_rust_future_poll_i8(IntPtr @handle,IntPtr @uniffiCallback ); [DllImport("servicepoint_binding_uniffi")] public static extern void ffi_servicepoint_binding_uniffi_rust_future_cancel_i8(IntPtr @handle ); [DllImport("servicepoint_binding_uniffi")] public static extern void ffi_servicepoint_binding_uniffi_rust_future_free_i8(IntPtr @handle ); [DllImport("servicepoint_binding_uniffi")] public static extern sbyte ffi_servicepoint_binding_uniffi_rust_future_complete_i8(IntPtr @handle,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern void ffi_servicepoint_binding_uniffi_rust_future_poll_u16(IntPtr @handle,IntPtr @uniffiCallback ); [DllImport("servicepoint_binding_uniffi")] public static extern void ffi_servicepoint_binding_uniffi_rust_future_cancel_u16(IntPtr @handle ); [DllImport("servicepoint_binding_uniffi")] public static extern void ffi_servicepoint_binding_uniffi_rust_future_free_u16(IntPtr @handle ); [DllImport("servicepoint_binding_uniffi")] public static extern ushort ffi_servicepoint_binding_uniffi_rust_future_complete_u16(IntPtr @handle,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern void ffi_servicepoint_binding_uniffi_rust_future_poll_i16(IntPtr @handle,IntPtr @uniffiCallback ); [DllImport("servicepoint_binding_uniffi")] public static extern void ffi_servicepoint_binding_uniffi_rust_future_cancel_i16(IntPtr @handle ); [DllImport("servicepoint_binding_uniffi")] public static extern void ffi_servicepoint_binding_uniffi_rust_future_free_i16(IntPtr @handle ); [DllImport("servicepoint_binding_uniffi")] public static extern short ffi_servicepoint_binding_uniffi_rust_future_complete_i16(IntPtr @handle,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern void ffi_servicepoint_binding_uniffi_rust_future_poll_u32(IntPtr @handle,IntPtr @uniffiCallback ); [DllImport("servicepoint_binding_uniffi")] public static extern void ffi_servicepoint_binding_uniffi_rust_future_cancel_u32(IntPtr @handle ); [DllImport("servicepoint_binding_uniffi")] public static extern void ffi_servicepoint_binding_uniffi_rust_future_free_u32(IntPtr @handle ); [DllImport("servicepoint_binding_uniffi")] public static extern uint ffi_servicepoint_binding_uniffi_rust_future_complete_u32(IntPtr @handle,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern void ffi_servicepoint_binding_uniffi_rust_future_poll_i32(IntPtr @handle,IntPtr @uniffiCallback ); [DllImport("servicepoint_binding_uniffi")] public static extern void ffi_servicepoint_binding_uniffi_rust_future_cancel_i32(IntPtr @handle ); [DllImport("servicepoint_binding_uniffi")] public static extern void ffi_servicepoint_binding_uniffi_rust_future_free_i32(IntPtr @handle ); [DllImport("servicepoint_binding_uniffi")] public static extern int ffi_servicepoint_binding_uniffi_rust_future_complete_i32(IntPtr @handle,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern void ffi_servicepoint_binding_uniffi_rust_future_poll_u64(IntPtr @handle,IntPtr @uniffiCallback ); [DllImport("servicepoint_binding_uniffi")] public static extern void ffi_servicepoint_binding_uniffi_rust_future_cancel_u64(IntPtr @handle ); [DllImport("servicepoint_binding_uniffi")] public static extern void ffi_servicepoint_binding_uniffi_rust_future_free_u64(IntPtr @handle ); [DllImport("servicepoint_binding_uniffi")] public static extern ulong ffi_servicepoint_binding_uniffi_rust_future_complete_u64(IntPtr @handle,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern void ffi_servicepoint_binding_uniffi_rust_future_poll_i64(IntPtr @handle,IntPtr @uniffiCallback ); [DllImport("servicepoint_binding_uniffi")] public static extern void ffi_servicepoint_binding_uniffi_rust_future_cancel_i64(IntPtr @handle ); [DllImport("servicepoint_binding_uniffi")] public static extern void ffi_servicepoint_binding_uniffi_rust_future_free_i64(IntPtr @handle ); [DllImport("servicepoint_binding_uniffi")] public static extern long ffi_servicepoint_binding_uniffi_rust_future_complete_i64(IntPtr @handle,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern void ffi_servicepoint_binding_uniffi_rust_future_poll_f32(IntPtr @handle,IntPtr @uniffiCallback ); [DllImport("servicepoint_binding_uniffi")] public static extern void ffi_servicepoint_binding_uniffi_rust_future_cancel_f32(IntPtr @handle ); [DllImport("servicepoint_binding_uniffi")] public static extern void ffi_servicepoint_binding_uniffi_rust_future_free_f32(IntPtr @handle ); [DllImport("servicepoint_binding_uniffi")] public static extern float ffi_servicepoint_binding_uniffi_rust_future_complete_f32(IntPtr @handle,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern void ffi_servicepoint_binding_uniffi_rust_future_poll_f64(IntPtr @handle,IntPtr @uniffiCallback ); [DllImport("servicepoint_binding_uniffi")] public static extern void ffi_servicepoint_binding_uniffi_rust_future_cancel_f64(IntPtr @handle ); [DllImport("servicepoint_binding_uniffi")] public static extern void ffi_servicepoint_binding_uniffi_rust_future_free_f64(IntPtr @handle ); [DllImport("servicepoint_binding_uniffi")] public static extern double ffi_servicepoint_binding_uniffi_rust_future_complete_f64(IntPtr @handle,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern void ffi_servicepoint_binding_uniffi_rust_future_poll_pointer(IntPtr @handle,IntPtr @uniffiCallback ); [DllImport("servicepoint_binding_uniffi")] public static extern void ffi_servicepoint_binding_uniffi_rust_future_cancel_pointer(IntPtr @handle ); [DllImport("servicepoint_binding_uniffi")] public static extern void ffi_servicepoint_binding_uniffi_rust_future_free_pointer(IntPtr @handle ); [DllImport("servicepoint_binding_uniffi")] public static extern SafeHandle ffi_servicepoint_binding_uniffi_rust_future_complete_pointer(IntPtr @handle,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern void ffi_servicepoint_binding_uniffi_rust_future_poll_rust_buffer(IntPtr @handle,IntPtr @uniffiCallback ); [DllImport("servicepoint_binding_uniffi")] public static extern void ffi_servicepoint_binding_uniffi_rust_future_cancel_rust_buffer(IntPtr @handle ); [DllImport("servicepoint_binding_uniffi")] public static extern void ffi_servicepoint_binding_uniffi_rust_future_free_rust_buffer(IntPtr @handle ); [DllImport("servicepoint_binding_uniffi")] public static extern RustBuffer ffi_servicepoint_binding_uniffi_rust_future_complete_rust_buffer(IntPtr @handle,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern void ffi_servicepoint_binding_uniffi_rust_future_poll_void(IntPtr @handle,IntPtr @uniffiCallback ); [DllImport("servicepoint_binding_uniffi")] public static extern void ffi_servicepoint_binding_uniffi_rust_future_cancel_void(IntPtr @handle ); [DllImport("servicepoint_binding_uniffi")] public static extern void ffi_servicepoint_binding_uniffi_rust_future_free_void(IntPtr @handle ); [DllImport("servicepoint_binding_uniffi")] public static extern void ffi_servicepoint_binding_uniffi_rust_future_complete_void(IntPtr @handle,ref RustCallStatus _uniffi_out_err ); [DllImport("servicepoint_binding_uniffi")] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_func_get_constants( ); [DllImport("servicepoint_binding_uniffi")] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_method_bitvec_copy_raw( ); [DllImport("servicepoint_binding_uniffi")] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_method_bitvec_equals( ); [DllImport("servicepoint_binding_uniffi")] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_method_bitvec_fill( ); [DllImport("servicepoint_binding_uniffi")] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_method_bitvec_get( ); [DllImport("servicepoint_binding_uniffi")] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_method_bitvec_len( ); [DllImport("servicepoint_binding_uniffi")] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_method_bitvec_set( ); [DllImport("servicepoint_binding_uniffi")] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_method_bitmap_copy_raw( ); [DllImport("servicepoint_binding_uniffi")] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_method_bitmap_equals( ); [DllImport("servicepoint_binding_uniffi")] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_method_bitmap_fill( ); [DllImport("servicepoint_binding_uniffi")] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_method_bitmap_get( ); [DllImport("servicepoint_binding_uniffi")] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_method_bitmap_height( ); [DllImport("servicepoint_binding_uniffi")] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_method_bitmap_set( ); [DllImport("servicepoint_binding_uniffi")] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_method_bitmap_width( ); [DllImport("servicepoint_binding_uniffi")] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_method_brightnessgrid_copy_raw( ); [DllImport("servicepoint_binding_uniffi")] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_method_brightnessgrid_equals( ); [DllImport("servicepoint_binding_uniffi")] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_method_brightnessgrid_fill( ); [DllImport("servicepoint_binding_uniffi")] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_method_brightnessgrid_get( ); [DllImport("servicepoint_binding_uniffi")] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_method_brightnessgrid_height( ); [DllImport("servicepoint_binding_uniffi")] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_method_brightnessgrid_set( ); [DllImport("servicepoint_binding_uniffi")] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_method_brightnessgrid_width( ); [DllImport("servicepoint_binding_uniffi")] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_method_chargrid_as_string( ); [DllImport("servicepoint_binding_uniffi")] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_method_chargrid_equals( ); [DllImport("servicepoint_binding_uniffi")] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_method_chargrid_fill( ); [DllImport("servicepoint_binding_uniffi")] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_method_chargrid_get( ); [DllImport("servicepoint_binding_uniffi")] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_method_chargrid_get_col( ); [DllImport("servicepoint_binding_uniffi")] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_method_chargrid_get_row( ); [DllImport("servicepoint_binding_uniffi")] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_method_chargrid_height( ); [DllImport("servicepoint_binding_uniffi")] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_method_chargrid_set( ); [DllImport("servicepoint_binding_uniffi")] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_method_chargrid_set_col( ); [DllImport("servicepoint_binding_uniffi")] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_method_chargrid_set_row( ); [DllImport("servicepoint_binding_uniffi")] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_method_chargrid_to_cp437( ); [DllImport("servicepoint_binding_uniffi")] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_method_chargrid_width( ); [DllImport("servicepoint_binding_uniffi")] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_method_command_equals( ); [DllImport("servicepoint_binding_uniffi")] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_method_connection_send( ); [DllImport("servicepoint_binding_uniffi")] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_method_cp437grid_copy_raw( ); [DllImport("servicepoint_binding_uniffi")] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_method_cp437grid_equals( ); [DllImport("servicepoint_binding_uniffi")] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_method_cp437grid_fill( ); [DllImport("servicepoint_binding_uniffi")] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_method_cp437grid_get( ); [DllImport("servicepoint_binding_uniffi")] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_method_cp437grid_height( ); [DllImport("servicepoint_binding_uniffi")] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_method_cp437grid_set( ); [DllImport("servicepoint_binding_uniffi")] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_method_cp437grid_to_utf8( ); [DllImport("servicepoint_binding_uniffi")] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_method_cp437grid_width( ); [DllImport("servicepoint_binding_uniffi")] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_constructor_bitvec_clone( ); [DllImport("servicepoint_binding_uniffi")] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_constructor_bitvec_load( ); [DllImport("servicepoint_binding_uniffi")] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_constructor_bitvec_new( ); [DllImport("servicepoint_binding_uniffi")] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_constructor_bitmap_clone( ); [DllImport("servicepoint_binding_uniffi")] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_constructor_bitmap_load( ); [DllImport("servicepoint_binding_uniffi")] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_constructor_bitmap_new( ); [DllImport("servicepoint_binding_uniffi")] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_constructor_bitmap_new_max_sized( ); [DllImport("servicepoint_binding_uniffi")] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_constructor_brightnessgrid_clone( ); [DllImport("servicepoint_binding_uniffi")] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_constructor_brightnessgrid_load( ); [DllImport("servicepoint_binding_uniffi")] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_constructor_brightnessgrid_new( ); [DllImport("servicepoint_binding_uniffi")] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_constructor_chargrid_clone( ); [DllImport("servicepoint_binding_uniffi")] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_constructor_chargrid_load( ); [DllImport("servicepoint_binding_uniffi")] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_constructor_chargrid_new( ); [DllImport("servicepoint_binding_uniffi")] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_constructor_command_bitmap_linear( ); [DllImport("servicepoint_binding_uniffi")] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_constructor_command_bitmap_linear_and( ); [DllImport("servicepoint_binding_uniffi")] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_constructor_command_bitmap_linear_or( ); [DllImport("servicepoint_binding_uniffi")] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_constructor_command_bitmap_linear_win( ); [DllImport("servicepoint_binding_uniffi")] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_constructor_command_bitmap_linear_xor( ); [DllImport("servicepoint_binding_uniffi")] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_constructor_command_brightness( ); [DllImport("servicepoint_binding_uniffi")] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_constructor_command_char_brightness( ); [DllImport("servicepoint_binding_uniffi")] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_constructor_command_clear( ); [DllImport("servicepoint_binding_uniffi")] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_constructor_command_clone( ); [DllImport("servicepoint_binding_uniffi")] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_constructor_command_cp437_data( ); [DllImport("servicepoint_binding_uniffi")] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_constructor_command_fade_out( ); [DllImport("servicepoint_binding_uniffi")] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_constructor_command_hard_reset( ); [DllImport("servicepoint_binding_uniffi")] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_constructor_command_utf8_data( ); [DllImport("servicepoint_binding_uniffi")] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_constructor_connection_new( ); [DllImport("servicepoint_binding_uniffi")] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_constructor_connection_new_fake( ); [DllImport("servicepoint_binding_uniffi")] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_constructor_cp437grid_clone( ); [DllImport("servicepoint_binding_uniffi")] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_constructor_cp437grid_load( ); [DllImport("servicepoint_binding_uniffi")] public static extern ushort uniffi_servicepoint_binding_uniffi_checksum_constructor_cp437grid_new( ); [DllImport("servicepoint_binding_uniffi")] 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 (24 != scaffolding_contract_version) { throw new UniffiContractVersionException($"ServicePoint: uniffi bindings expected version `24`, library returned `{scaffolding_contract_version}`"); } } static void uniffiCheckApiChecksums() { { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_func_get_constants(); if (checksum != 41584) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_func_get_constants` checksum `41584`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_method_bitvec_copy_raw(); if (checksum != 12617) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_method_bitvec_copy_raw` checksum `12617`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_method_bitvec_equals(); if (checksum != 1191) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_method_bitvec_equals` checksum `1191`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_method_bitvec_fill(); if (checksum != 12255) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_method_bitvec_fill` checksum `12255`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_method_bitvec_get(); if (checksum != 43835) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_method_bitvec_get` checksum `43835`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_method_bitvec_len(); if (checksum != 22196) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_method_bitvec_len` checksum `22196`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_method_bitvec_set(); if (checksum != 16307) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_method_bitvec_set` checksum `16307`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_method_bitmap_copy_raw(); if (checksum != 3467) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_method_bitmap_copy_raw` checksum `3467`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_method_bitmap_equals(); if (checksum != 420) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_method_bitmap_equals` checksum `420`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_method_bitmap_fill(); if (checksum != 43887) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_method_bitmap_fill` checksum `43887`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_method_bitmap_get(); if (checksum != 61136) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_method_bitmap_get` checksum `61136`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_method_bitmap_height(); if (checksum != 44991) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_method_bitmap_height` checksum `44991`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_method_bitmap_set(); if (checksum != 25290) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_method_bitmap_set` checksum `25290`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_method_bitmap_width(); if (checksum != 30837) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_method_bitmap_width` checksum `30837`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_method_brightnessgrid_copy_raw(); if (checksum != 28155) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_method_brightnessgrid_copy_raw` checksum `28155`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_method_brightnessgrid_equals(); if (checksum != 13314) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_method_brightnessgrid_equals` checksum `13314`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_method_brightnessgrid_fill(); if (checksum != 63376) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_method_brightnessgrid_fill` checksum `63376`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_method_brightnessgrid_get(); if (checksum != 28736) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_method_brightnessgrid_get` checksum `28736`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_method_brightnessgrid_height(); if (checksum != 39528) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_method_brightnessgrid_height` checksum `39528`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_method_brightnessgrid_set(); if (checksum != 6330) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_method_brightnessgrid_set` checksum `6330`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_method_brightnessgrid_width(); if (checksum != 26384) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_method_brightnessgrid_width` checksum `26384`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_method_chargrid_as_string(); if (checksum != 46581) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_method_chargrid_as_string` checksum `46581`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_method_chargrid_equals(); if (checksum != 17533) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_method_chargrid_equals` checksum `17533`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_method_chargrid_fill(); if (checksum != 56996) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_method_chargrid_fill` checksum `56996`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_method_chargrid_get(); if (checksum != 1334) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_method_chargrid_get` checksum `1334`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_method_chargrid_get_col(); if (checksum != 64158) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_method_chargrid_get_col` checksum `64158`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_method_chargrid_get_row(); if (checksum != 39411) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_method_chargrid_get_row` checksum `39411`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_method_chargrid_height(); if (checksum != 13068) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_method_chargrid_height` checksum `13068`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_method_chargrid_set(); if (checksum != 64815) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_method_chargrid_set` checksum `64815`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_method_chargrid_set_col(); if (checksum != 43727) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_method_chargrid_set_col` checksum `43727`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_method_chargrid_set_row(); if (checksum != 19756) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_method_chargrid_set_row` checksum `19756`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_method_chargrid_to_cp437(); if (checksum != 19261) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_method_chargrid_to_cp437` checksum `19261`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_method_chargrid_width(); if (checksum != 48963) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_method_chargrid_width` checksum `48963`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_method_command_equals(); if (checksum != 20763) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_method_command_equals` checksum `20763`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_method_connection_send(); if (checksum != 23796) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_method_connection_send` checksum `23796`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_method_cp437grid_copy_raw(); if (checksum != 50937) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_method_cp437grid_copy_raw` checksum `50937`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_method_cp437grid_equals(); if (checksum != 21544) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_method_cp437grid_equals` checksum `21544`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_method_cp437grid_fill(); if (checksum != 46422) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_method_cp437grid_fill` checksum `46422`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_method_cp437grid_get(); if (checksum != 1945) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_method_cp437grid_get` checksum `1945`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_method_cp437grid_height(); if (checksum != 45951) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_method_cp437grid_height` checksum `45951`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_method_cp437grid_set(); if (checksum != 8371) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_method_cp437grid_set` checksum `8371`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_method_cp437grid_to_utf8(); if (checksum != 21516) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_method_cp437grid_to_utf8` checksum `21516`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_method_cp437grid_width(); if (checksum != 36872) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_method_cp437grid_width` checksum `36872`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_constructor_bitvec_clone(); if (checksum != 123) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_constructor_bitvec_clone` checksum `123`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_constructor_bitvec_load(); if (checksum != 48913) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_constructor_bitvec_load` checksum `48913`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_constructor_bitvec_new(); if (checksum != 11865) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_constructor_bitvec_new` checksum `11865`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_constructor_bitmap_clone(); if (checksum != 57298) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_constructor_bitmap_clone` checksum `57298`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_constructor_bitmap_load(); if (checksum != 24109) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_constructor_bitmap_load` checksum `24109`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_constructor_bitmap_new(); if (checksum != 49832) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_constructor_bitmap_new` checksum `49832`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_constructor_bitmap_new_max_sized(); if (checksum != 63762) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_constructor_bitmap_new_max_sized` checksum `63762`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_constructor_brightnessgrid_clone(); if (checksum != 33422) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_constructor_brightnessgrid_clone` checksum `33422`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_constructor_brightnessgrid_load(); if (checksum != 24788) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_constructor_brightnessgrid_load` checksum `24788`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_constructor_brightnessgrid_new(); if (checksum != 4979) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_constructor_brightnessgrid_new` checksum `4979`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_constructor_chargrid_clone(); if (checksum != 61241) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_constructor_chargrid_clone` checksum `61241`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_constructor_chargrid_load(); if (checksum != 47815) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_constructor_chargrid_load` checksum `47815`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_constructor_chargrid_new(); if (checksum != 13303) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_constructor_chargrid_new` checksum `13303`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_constructor_command_bitmap_linear(); if (checksum != 18079) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_constructor_command_bitmap_linear` checksum `18079`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_constructor_command_bitmap_linear_and(); if (checksum != 18147) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_constructor_command_bitmap_linear_and` checksum `18147`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_constructor_command_bitmap_linear_or(); if (checksum != 44912) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_constructor_command_bitmap_linear_or` checksum `44912`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_constructor_command_bitmap_linear_win(); if (checksum != 24563) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_constructor_command_bitmap_linear_win` checksum `24563`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_constructor_command_bitmap_linear_xor(); if (checksum != 54278) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_constructor_command_bitmap_linear_xor` checksum `54278`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_constructor_command_brightness(); if (checksum != 11291) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_constructor_command_brightness` checksum `11291`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_constructor_command_char_brightness(); if (checksum != 29467) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_constructor_command_char_brightness` checksum `29467`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_constructor_command_clear(); if (checksum != 11035) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_constructor_command_clear` checksum `11035`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_constructor_command_clone(); if (checksum != 42249) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_constructor_command_clone` checksum `42249`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_constructor_command_cp437_data(); if (checksum != 33157) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_constructor_command_cp437_data` checksum `33157`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_constructor_command_fade_out(); if (checksum != 49231) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_constructor_command_fade_out` checksum `49231`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_constructor_command_hard_reset(); if (checksum != 62130) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_constructor_command_hard_reset` checksum `62130`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_constructor_command_utf8_data(); if (checksum != 2263) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_constructor_command_utf8_data` checksum `2263`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_constructor_connection_new(); if (checksum != 30445) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_constructor_connection_new` checksum `30445`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_constructor_connection_new_fake(); if (checksum != 54331) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_constructor_connection_new_fake` checksum `54331`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_constructor_cp437grid_clone(); if (checksum != 28173) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_constructor_cp437grid_clone` checksum `28173`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_constructor_cp437grid_load(); if (checksum != 62136) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_constructor_cp437grid_load` checksum `62136`, library returned `{checksum}`"); } } { var checksum = _UniFFILib.uniffi_servicepoint_binding_uniffi_checksum_constructor_cp437grid_new(); if (checksum != 17350) { throw new UniffiContractChecksumException($"ServicePoint: uniffi bindings expected function `uniffi_servicepoint_binding_uniffi_checksum_constructor_cp437grid_new` checksum `17350`, 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(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 = value.Length * 3; 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); } } // `SafeHandle` implements the semantics outlined below, i.e. its thread safe, and the dispose // method will only be called once, once all outstanding native calls have completed. // https://github.com/mozilla/uniffi-rs/blob/0dc031132d9493ca812c3af6e7dd60ad2ea95bf0/uniffi_bindgen/src/bindings/kotlin/templates/ObjectRuntime.kt#L31 // https://learn.microsoft.com/en-us/dotnet/api/system.runtime.interopservices.criticalhandle public abstract class FFIObject: IDisposable where THandle : FFISafeHandle { private THandle handle; public FFIObject(THandle handle) { this.handle = handle; } public THandle GetHandle() { return handle; } public void Dispose() { handle.Dispose(); } } public abstract class FFISafeHandle: SafeHandle { public FFISafeHandle(): base(new IntPtr(0), true) { } public FFISafeHandle(IntPtr pointer): this() { this.SetHandle(pointer); } public override bool IsInvalid { get { return handle.ToInt64() == 0; } } // TODO(CS) this completely breaks any guarantees offered by SafeHandle.. Extracting // raw value from SafeHandle puts responsiblity on the consumer of this function to // ensure that SafeHandle outlives the stream, and anyone who might have read the raw // value from the stream and are holding onto it. Otherwise, the result might be a use // after free, or free while method calls are still in flight. // // This is also relevant for Kotlin. // public IntPtr DangerousGetRawFfiValue() { return handle; } } 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); } } } } } } 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 BitVecSafeHandle: FFISafeHandle { public BitVecSafeHandle(): base() { } public BitVecSafeHandle(IntPtr pointer): base(pointer) { } override protected bool ReleaseHandle() { _UniffiHelpers.RustCall((ref RustCallStatus status) => { _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_free_bitvec(this.handle, ref status); }); return true; } } public class BitVec: FFIObject, IBitVec { public BitVec(BitVecSafeHandle pointer): base(pointer) {} public BitVec(ulong @size) : this( _UniffiHelpers.RustCall( (ref RustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_constructor_bitvec_new(FfiConverterUInt64.INSTANCE.Lower(@size), ref _status) )) {} public byte[] CopyRaw() { return FfiConverterByteArray.INSTANCE.Lift( _UniffiHelpers.RustCall( (ref RustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_method_bitvec_copy_raw(this.GetHandle(), ref _status) )); } public bool Equals(BitVec @other) { return FfiConverterBoolean.INSTANCE.Lift( _UniffiHelpers.RustCall( (ref RustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_method_bitvec_equals(this.GetHandle(), FfiConverterTypeBitVec.INSTANCE.Lower(@other), ref _status) )); } public void Fill(bool @value) { _UniffiHelpers.RustCall( (ref RustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_method_bitvec_fill(this.GetHandle(), FfiConverterBoolean.INSTANCE.Lower(@value), ref _status) ); } public bool Get(ulong @index) { return FfiConverterBoolean.INSTANCE.Lift( _UniffiHelpers.RustCall( (ref RustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_method_bitvec_get(this.GetHandle(), FfiConverterUInt64.INSTANCE.Lower(@index), ref _status) )); } public ulong Len() { return FfiConverterUInt64.INSTANCE.Lift( _UniffiHelpers.RustCall( (ref RustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_method_bitvec_len(this.GetHandle(), ref _status) )); } public void Set(ulong @index, bool @value) { _UniffiHelpers.RustCall( (ref RustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_method_bitvec_set(this.GetHandle(), FfiConverterUInt64.INSTANCE.Lower(@index), FfiConverterBoolean.INSTANCE.Lower(@value), ref _status) ); } public static BitVec Clone(BitVec @other) { return new BitVec( _UniffiHelpers.RustCall( (ref RustCallStatus _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 RustCallStatus _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 BitVecSafeHandle Lower(BitVec value) { return value.GetHandle(); } public override BitVec Lift(BitVecSafeHandle value) { return new BitVec(value); } public override BitVec Read(BigEndianStream stream) { return Lift(new BitVecSafeHandle(new IntPtr(stream.ReadLong()))); } public override int AllocationSize(BitVec value) { return 8; } public override void Write(BitVec value, BigEndianStream stream) { stream.WriteLong(Lower(value).DangerousGetRawFfiValue().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 BitmapSafeHandle: FFISafeHandle { public BitmapSafeHandle(): base() { } public BitmapSafeHandle(IntPtr pointer): base(pointer) { } override protected bool ReleaseHandle() { _UniffiHelpers.RustCall((ref RustCallStatus status) => { _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_free_bitmap(this.handle, ref status); }); return true; } } public class Bitmap: FFIObject, IBitmap { public Bitmap(BitmapSafeHandle pointer): base(pointer) {} public Bitmap(ulong @width, ulong @height) : this( _UniffiHelpers.RustCall( (ref RustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_constructor_bitmap_new(FfiConverterUInt64.INSTANCE.Lower(@width), FfiConverterUInt64.INSTANCE.Lower(@height), ref _status) )) {} public byte[] CopyRaw() { return FfiConverterByteArray.INSTANCE.Lift( _UniffiHelpers.RustCall( (ref RustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_method_bitmap_copy_raw(this.GetHandle(), ref _status) )); } public bool Equals(Bitmap @other) { return FfiConverterBoolean.INSTANCE.Lift( _UniffiHelpers.RustCall( (ref RustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_method_bitmap_equals(this.GetHandle(), FfiConverterTypeBitmap.INSTANCE.Lower(@other), ref _status) )); } public void Fill(bool @value) { _UniffiHelpers.RustCall( (ref RustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_method_bitmap_fill(this.GetHandle(), FfiConverterBoolean.INSTANCE.Lower(@value), ref _status) ); } public bool Get(ulong @x, ulong @y) { return FfiConverterBoolean.INSTANCE.Lift( _UniffiHelpers.RustCall( (ref RustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_method_bitmap_get(this.GetHandle(), FfiConverterUInt64.INSTANCE.Lower(@x), FfiConverterUInt64.INSTANCE.Lower(@y), ref _status) )); } public ulong Height() { return FfiConverterUInt64.INSTANCE.Lift( _UniffiHelpers.RustCall( (ref RustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_method_bitmap_height(this.GetHandle(), ref _status) )); } public void Set(ulong @x, ulong @y, bool @value) { _UniffiHelpers.RustCall( (ref RustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_method_bitmap_set(this.GetHandle(), FfiConverterUInt64.INSTANCE.Lower(@x), FfiConverterUInt64.INSTANCE.Lower(@y), FfiConverterBoolean.INSTANCE.Lower(@value), ref _status) ); } public ulong Width() { return FfiConverterUInt64.INSTANCE.Lift( _UniffiHelpers.RustCall( (ref RustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_method_bitmap_width(this.GetHandle(), ref _status) )); } public static Bitmap Clone(Bitmap @other) { return new Bitmap( _UniffiHelpers.RustCall( (ref RustCallStatus _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 RustCallStatus _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 RustCallStatus _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 BitmapSafeHandle Lower(Bitmap value) { return value.GetHandle(); } public override Bitmap Lift(BitmapSafeHandle value) { return new Bitmap(value); } public override Bitmap Read(BigEndianStream stream) { return Lift(new BitmapSafeHandle(new IntPtr(stream.ReadLong()))); } public override int AllocationSize(Bitmap value) { return 8; } public override void Write(Bitmap value, BigEndianStream stream) { stream.WriteLong(Lower(value).DangerousGetRawFfiValue().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 BrightnessGridSafeHandle: FFISafeHandle { public BrightnessGridSafeHandle(): base() { } public BrightnessGridSafeHandle(IntPtr pointer): base(pointer) { } override protected bool ReleaseHandle() { _UniffiHelpers.RustCall((ref RustCallStatus status) => { _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_free_brightnessgrid(this.handle, ref status); }); return true; } } public class BrightnessGrid: FFIObject, IBrightnessGrid { public BrightnessGrid(BrightnessGridSafeHandle pointer): base(pointer) {} public BrightnessGrid(ulong @width, ulong @height) : this( _UniffiHelpers.RustCall( (ref RustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_constructor_brightnessgrid_new(FfiConverterUInt64.INSTANCE.Lower(@width), FfiConverterUInt64.INSTANCE.Lower(@height), ref _status) )) {} public byte[] CopyRaw() { return FfiConverterByteArray.INSTANCE.Lift( _UniffiHelpers.RustCall( (ref RustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_method_brightnessgrid_copy_raw(this.GetHandle(), ref _status) )); } public bool Equals(BrightnessGrid @other) { return FfiConverterBoolean.INSTANCE.Lift( _UniffiHelpers.RustCall( (ref RustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_method_brightnessgrid_equals(this.GetHandle(), FfiConverterTypeBrightnessGrid.INSTANCE.Lower(@other), ref _status) )); } public void Fill(byte @value) { _UniffiHelpers.RustCall( (ref RustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_method_brightnessgrid_fill(this.GetHandle(), FfiConverterUInt8.INSTANCE.Lower(@value), ref _status) ); } public byte Get(ulong @x, ulong @y) { return FfiConverterUInt8.INSTANCE.Lift( _UniffiHelpers.RustCall( (ref RustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_method_brightnessgrid_get(this.GetHandle(), FfiConverterUInt64.INSTANCE.Lower(@x), FfiConverterUInt64.INSTANCE.Lower(@y), ref _status) )); } public ulong Height() { return FfiConverterUInt64.INSTANCE.Lift( _UniffiHelpers.RustCall( (ref RustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_method_brightnessgrid_height(this.GetHandle(), ref _status) )); } public void Set(ulong @x, ulong @y, byte @value) { _UniffiHelpers.RustCall( (ref RustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_method_brightnessgrid_set(this.GetHandle(), FfiConverterUInt64.INSTANCE.Lower(@x), FfiConverterUInt64.INSTANCE.Lower(@y), FfiConverterUInt8.INSTANCE.Lower(@value), ref _status) ); } public ulong Width() { return FfiConverterUInt64.INSTANCE.Lift( _UniffiHelpers.RustCall( (ref RustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_method_brightnessgrid_width(this.GetHandle(), ref _status) )); } public static BrightnessGrid Clone(BrightnessGrid @other) { return new BrightnessGrid( _UniffiHelpers.RustCall( (ref RustCallStatus _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 RustCallStatus _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 BrightnessGridSafeHandle Lower(BrightnessGrid value) { return value.GetHandle(); } public override BrightnessGrid Lift(BrightnessGridSafeHandle value) { return new BrightnessGrid(value); } public override BrightnessGrid Read(BigEndianStream stream) { return Lift(new BrightnessGridSafeHandle(new IntPtr(stream.ReadLong()))); } public override int AllocationSize(BrightnessGrid value) { return 8; } public override void Write(BrightnessGrid value, BigEndianStream stream) { stream.WriteLong(Lower(value).DangerousGetRawFfiValue().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 CharGridSafeHandle: FFISafeHandle { public CharGridSafeHandle(): base() { } public CharGridSafeHandle(IntPtr pointer): base(pointer) { } override protected bool ReleaseHandle() { _UniffiHelpers.RustCall((ref RustCallStatus status) => { _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_free_chargrid(this.handle, ref status); }); return true; } } public class CharGrid: FFIObject, ICharGrid { public CharGrid(CharGridSafeHandle pointer): base(pointer) {} public CharGrid(ulong @width, ulong @height) : this( _UniffiHelpers.RustCall( (ref RustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_constructor_chargrid_new(FfiConverterUInt64.INSTANCE.Lower(@width), FfiConverterUInt64.INSTANCE.Lower(@height), ref _status) )) {} public String AsString() { return FfiConverterString.INSTANCE.Lift( _UniffiHelpers.RustCall( (ref RustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_method_chargrid_as_string(this.GetHandle(), ref _status) )); } public bool Equals(CharGrid @other) { return FfiConverterBoolean.INSTANCE.Lift( _UniffiHelpers.RustCall( (ref RustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_method_chargrid_equals(this.GetHandle(), FfiConverterTypeCharGrid.INSTANCE.Lower(@other), ref _status) )); } /// public void Fill(String @value) { _UniffiHelpers.RustCallWithError(FfiConverterTypeCharGridException.INSTANCE, (ref RustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_method_chargrid_fill(this.GetHandle(), FfiConverterString.INSTANCE.Lower(@value), ref _status) ); } public String Get(ulong @x, ulong @y) { return FfiConverterString.INSTANCE.Lift( _UniffiHelpers.RustCall( (ref RustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_method_chargrid_get(this.GetHandle(), FfiConverterUInt64.INSTANCE.Lower(@x), FfiConverterUInt64.INSTANCE.Lower(@y), ref _status) )); } /// public String GetCol(ulong @x) { return FfiConverterString.INSTANCE.Lift( _UniffiHelpers.RustCallWithError(FfiConverterTypeCharGridException.INSTANCE, (ref RustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_method_chargrid_get_col(this.GetHandle(), FfiConverterUInt64.INSTANCE.Lower(@x), ref _status) )); } /// public String GetRow(ulong @y) { return FfiConverterString.INSTANCE.Lift( _UniffiHelpers.RustCallWithError(FfiConverterTypeCharGridException.INSTANCE, (ref RustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_method_chargrid_get_row(this.GetHandle(), FfiConverterUInt64.INSTANCE.Lower(@y), ref _status) )); } public ulong Height() { return FfiConverterUInt64.INSTANCE.Lift( _UniffiHelpers.RustCall( (ref RustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_method_chargrid_height(this.GetHandle(), ref _status) )); } /// public void Set(ulong @x, ulong @y, String @value) { _UniffiHelpers.RustCallWithError(FfiConverterTypeCharGridException.INSTANCE, (ref RustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_method_chargrid_set(this.GetHandle(), FfiConverterUInt64.INSTANCE.Lower(@x), FfiConverterUInt64.INSTANCE.Lower(@y), FfiConverterString.INSTANCE.Lower(@value), ref _status) ); } /// public void SetCol(ulong @x, String @col) { _UniffiHelpers.RustCallWithError(FfiConverterTypeCharGridException.INSTANCE, (ref RustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_method_chargrid_set_col(this.GetHandle(), FfiConverterUInt64.INSTANCE.Lower(@x), FfiConverterString.INSTANCE.Lower(@col), ref _status) ); } /// public void SetRow(ulong @y, String @row) { _UniffiHelpers.RustCallWithError(FfiConverterTypeCharGridException.INSTANCE, (ref RustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_method_chargrid_set_row(this.GetHandle(), FfiConverterUInt64.INSTANCE.Lower(@y), FfiConverterString.INSTANCE.Lower(@row), ref _status) ); } public Cp437Grid ToCp437() { return FfiConverterTypeCp437Grid.INSTANCE.Lift( _UniffiHelpers.RustCall( (ref RustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_method_chargrid_to_cp437(this.GetHandle(), ref _status) )); } public ulong Width() { return FfiConverterUInt64.INSTANCE.Lift( _UniffiHelpers.RustCall( (ref RustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_method_chargrid_width(this.GetHandle(), ref _status) )); } public static CharGrid Clone(CharGrid @other) { return new CharGrid( _UniffiHelpers.RustCall( (ref RustCallStatus _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 RustCallStatus _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 CharGridSafeHandle Lower(CharGrid value) { return value.GetHandle(); } public override CharGrid Lift(CharGridSafeHandle value) { return new CharGrid(value); } public override CharGrid Read(BigEndianStream stream) { return Lift(new CharGridSafeHandle(new IntPtr(stream.ReadLong()))); } public override int AllocationSize(CharGrid value) { return 8; } public override void Write(CharGrid value, BigEndianStream stream) { stream.WriteLong(Lower(value).DangerousGetRawFfiValue().ToInt64()); } } public interface ICommand { bool Equals(Command @other); } public class CommandSafeHandle: FFISafeHandle { public CommandSafeHandle(): base() { } public CommandSafeHandle(IntPtr pointer): base(pointer) { } override protected bool ReleaseHandle() { _UniffiHelpers.RustCall((ref RustCallStatus status) => { _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_free_command(this.handle, ref status); }); return true; } } public class Command: FFIObject, ICommand { public Command(CommandSafeHandle pointer): base(pointer) {} public bool Equals(Command @other) { return FfiConverterBoolean.INSTANCE.Lift( _UniffiHelpers.RustCall( (ref RustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_method_command_equals(this.GetHandle(), FfiConverterTypeCommand.INSTANCE.Lower(@other), ref _status) )); } public static Command BitmapLinear(ulong @offset, BitVec @bitmap, CompressionCode @compression) { return new Command( _UniffiHelpers.RustCall( (ref RustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_constructor_command_bitmap_linear(FfiConverterUInt64.INSTANCE.Lower(@offset), FfiConverterTypeBitVec.INSTANCE.Lower(@bitmap), FfiConverterTypeCompressionCode.INSTANCE.Lower(@compression), ref _status) )); } public static Command BitmapLinearAnd(ulong @offset, BitVec @bitmap, CompressionCode @compression) { return new Command( _UniffiHelpers.RustCall( (ref RustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_constructor_command_bitmap_linear_and(FfiConverterUInt64.INSTANCE.Lower(@offset), FfiConverterTypeBitVec.INSTANCE.Lower(@bitmap), FfiConverterTypeCompressionCode.INSTANCE.Lower(@compression), ref _status) )); } public static Command BitmapLinearOr(ulong @offset, BitVec @bitmap, CompressionCode @compression) { return new Command( _UniffiHelpers.RustCall( (ref RustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_constructor_command_bitmap_linear_or(FfiConverterUInt64.INSTANCE.Lower(@offset), FfiConverterTypeBitVec.INSTANCE.Lower(@bitmap), FfiConverterTypeCompressionCode.INSTANCE.Lower(@compression), ref _status) )); } public static Command BitmapLinearWin(ulong @offsetX, ulong @offsetY, Bitmap @bitmap, CompressionCode @compression) { return new Command( _UniffiHelpers.RustCall( (ref RustCallStatus _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 BitmapLinearXor(ulong @offset, BitVec @bitmap, CompressionCode @compression) { return new Command( _UniffiHelpers.RustCall( (ref RustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_constructor_command_bitmap_linear_xor(FfiConverterUInt64.INSTANCE.Lower(@offset), FfiConverterTypeBitVec.INSTANCE.Lower(@bitmap), FfiConverterTypeCompressionCode.INSTANCE.Lower(@compression), ref _status) )); } /// public static Command Brightness(byte @brightness) { return new Command( _UniffiHelpers.RustCallWithError(FfiConverterTypeServicePointException.INSTANCE, (ref RustCallStatus _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 RustCallStatus _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 RustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_constructor_command_clear( ref _status) )); } public static Command Clone(Command @other) { return new Command( _UniffiHelpers.RustCall( (ref RustCallStatus _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 RustCallStatus _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 RustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_constructor_command_fade_out( ref _status) )); } public static Command HardReset() { return new Command( _UniffiHelpers.RustCall( (ref RustCallStatus _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 RustCallStatus _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 CommandSafeHandle Lower(Command value) { return value.GetHandle(); } public override Command Lift(CommandSafeHandle value) { return new Command(value); } public override Command Read(BigEndianStream stream) { return Lift(new CommandSafeHandle(new IntPtr(stream.ReadLong()))); } public override int AllocationSize(Command value) { return 8; } public override void Write(Command value, BigEndianStream stream) { stream.WriteLong(Lower(value).DangerousGetRawFfiValue().ToInt64()); } } public interface IConnection { /// void Send(Command @command); } public class ConnectionSafeHandle: FFISafeHandle { public ConnectionSafeHandle(): base() { } public ConnectionSafeHandle(IntPtr pointer): base(pointer) { } override protected bool ReleaseHandle() { _UniffiHelpers.RustCall((ref RustCallStatus status) => { _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_free_connection(this.handle, ref status); }); return true; } } public class Connection: FFIObject, IConnection { public Connection(ConnectionSafeHandle pointer): base(pointer) {} public Connection(String @host) : this( _UniffiHelpers.RustCallWithError(FfiConverterTypeServicePointException.INSTANCE, (ref RustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_constructor_connection_new(FfiConverterString.INSTANCE.Lower(@host), ref _status) )) {} /// public void Send(Command @command) { _UniffiHelpers.RustCallWithError(FfiConverterTypeServicePointException.INSTANCE, (ref RustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_method_connection_send(this.GetHandle(), FfiConverterTypeCommand.INSTANCE.Lower(@command), ref _status) ); } public static Connection NewFake() { return new Connection( _UniffiHelpers.RustCall( (ref RustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_constructor_connection_new_fake( ref _status) )); } } class FfiConverterTypeConnection: FfiConverter { public static FfiConverterTypeConnection INSTANCE = new FfiConverterTypeConnection(); public override ConnectionSafeHandle Lower(Connection value) { return value.GetHandle(); } public override Connection Lift(ConnectionSafeHandle value) { return new Connection(value); } public override Connection Read(BigEndianStream stream) { return Lift(new ConnectionSafeHandle(new IntPtr(stream.ReadLong()))); } public override int AllocationSize(Connection value) { return 8; } public override void Write(Connection value, BigEndianStream stream) { stream.WriteLong(Lower(value).DangerousGetRawFfiValue().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 Cp437GridSafeHandle: FFISafeHandle { public Cp437GridSafeHandle(): base() { } public Cp437GridSafeHandle(IntPtr pointer): base(pointer) { } override protected bool ReleaseHandle() { _UniffiHelpers.RustCall((ref RustCallStatus status) => { _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_free_cp437grid(this.handle, ref status); }); return true; } } public class Cp437Grid: FFIObject, ICp437Grid { public Cp437Grid(Cp437GridSafeHandle pointer): base(pointer) {} public Cp437Grid(ulong @width, ulong @height) : this( _UniffiHelpers.RustCall( (ref RustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_constructor_cp437grid_new(FfiConverterUInt64.INSTANCE.Lower(@width), FfiConverterUInt64.INSTANCE.Lower(@height), ref _status) )) {} public byte[] CopyRaw() { return FfiConverterByteArray.INSTANCE.Lift( _UniffiHelpers.RustCall( (ref RustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_method_cp437grid_copy_raw(this.GetHandle(), ref _status) )); } public bool Equals(Cp437Grid @other) { return FfiConverterBoolean.INSTANCE.Lift( _UniffiHelpers.RustCall( (ref RustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_method_cp437grid_equals(this.GetHandle(), FfiConverterTypeCp437Grid.INSTANCE.Lower(@other), ref _status) )); } public void Fill(byte @value) { _UniffiHelpers.RustCall( (ref RustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_method_cp437grid_fill(this.GetHandle(), FfiConverterUInt8.INSTANCE.Lower(@value), ref _status) ); } public byte Get(ulong @x, ulong @y) { return FfiConverterUInt8.INSTANCE.Lift( _UniffiHelpers.RustCall( (ref RustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_method_cp437grid_get(this.GetHandle(), FfiConverterUInt64.INSTANCE.Lower(@x), FfiConverterUInt64.INSTANCE.Lower(@y), ref _status) )); } public ulong Height() { return FfiConverterUInt64.INSTANCE.Lift( _UniffiHelpers.RustCall( (ref RustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_method_cp437grid_height(this.GetHandle(), ref _status) )); } public void Set(ulong @x, ulong @y, byte @value) { _UniffiHelpers.RustCall( (ref RustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_method_cp437grid_set(this.GetHandle(), FfiConverterUInt64.INSTANCE.Lower(@x), FfiConverterUInt64.INSTANCE.Lower(@y), FfiConverterUInt8.INSTANCE.Lower(@value), ref _status) ); } public CharGrid ToUtf8() { return FfiConverterTypeCharGrid.INSTANCE.Lift( _UniffiHelpers.RustCall( (ref RustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_method_cp437grid_to_utf8(this.GetHandle(), ref _status) )); } public ulong Width() { return FfiConverterUInt64.INSTANCE.Lift( _UniffiHelpers.RustCall( (ref RustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_method_cp437grid_width(this.GetHandle(), ref _status) )); } public static Cp437Grid Clone(Cp437Grid @other) { return new Cp437Grid( _UniffiHelpers.RustCall( (ref RustCallStatus _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 RustCallStatus _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 Cp437GridSafeHandle Lower(Cp437Grid value) { return value.GetHandle(); } public override Cp437Grid Lift(Cp437GridSafeHandle value) { return new Cp437Grid(value); } public override Cp437Grid Read(BigEndianStream stream) { return Lift(new Cp437GridSafeHandle(new IntPtr(stream.ReadLong()))); } public override int AllocationSize(Cp437Grid value) { return 8; } public override void Write(Cp437Grid value, BigEndianStream stream) { stream.WriteLong(Lower(value).DangerousGetRawFfiValue().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 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 class CharGridException: UniffiException { // Each variant is a nested class public class StringNotOneChar : CharGridException { // Members public String @value; // Constructor public StringNotOneChar( String @value) { this.@value = @value; } } public class InvalidSeriesLength : CharGridException { // Members public ulong @actual; public ulong @expected; // Constructor public InvalidSeriesLength( ulong @actual, ulong @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) { this.@index = @index; this.@size = @size; } } } class FfiConverterTypeCharGridException : FfiConverterRustBuffer, CallStatusErrorHandler { public static FfiConverterTypeCharGridException INSTANCE = new FfiConverterTypeCharGridException(); 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 FfiConverterTypeCharGridException.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 FfiConverterTypeCharGridException.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 FfiConverterTypeCharGridException.Write()", value)); } } } public enum CompressionCode: int { Uncompressed, Zlib, Bzip2, Lzma, 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 { // Each variant is a nested class public class IoException : ServicePointException { // Members public String @error; // Constructor public IoException( String @error) { this.@error = @error; } } public class InvalidBrightness : ServicePointException { // Members public byte @value; // Constructor public InvalidBrightness( byte @value) { this.@value = @value; } } } class FfiConverterTypeServicePointException : FfiConverterRustBuffer, CallStatusErrorHandler { public static FfiConverterTypeServicePointException INSTANCE = new FfiConverterTypeServicePointException(); 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 FfiConverterTypeServicePointException.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 FfiConverterTypeServicePointException.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 FfiConverterTypeServicePointException.Write()", value)); } } } #pragma warning restore 8625 public static class ServicepointBindingUniffiMethods { public static Constants GetConstants() { return FfiConverterTypeConstants.INSTANCE.Lift( _UniffiHelpers.RustCall( (ref RustCallStatus _status) => _UniFFILib.uniffi_servicepoint_binding_uniffi_fn_func_get_constants( ref _status) )); } }