![JAR search and dependency download from the Maven repository](/logo.png)
desktopMain.keychainstore.keychainstore.jvm.kt Maven / Gradle / Ivy
// This file was autogenerated by some hot garbage in the `uniffi` crate.
// Trust me, you don't want to mess with it!
@file:Suppress("NAME_SHADOWING")
package keychainstore
import com.sun.jna.Callback
import com.sun.jna.Library
import com.sun.jna.Native
import com.sun.jna.Pointer
import com.sun.jna.Structure
import com.sun.jna.Structure.ByValue
import com.sun.jna.ptr.ByReference
import okio.Buffer
import java.util.concurrent.ConcurrentHashMap
actual typealias Pointer = com.sun.jna.Pointer
actual fun kotlin.Long.toPointer() = com.sun.jna.Pointer(this)
actual fun Pointer.toLong(): kotlin.Long = com.sun.jna.Pointer.nativeValue(this)
actual typealias UBytePointer = com.sun.jna.Pointer
actual fun UBytePointer.asSource(len: kotlin.Long): NoCopySource = object : NoCopySource {
val buffer = getByteBuffer(0, len).also {
it.order(java.nio.ByteOrder.BIG_ENDIAN)
}
override fun exhausted(): kotlin.Boolean = !buffer.hasRemaining()
override fun readByte(): kotlin.Byte = buffer.get()
override fun readInt(): kotlin.Int = buffer.getInt()
override fun readLong(): kotlin.Long = buffer.getLong()
override fun readShort(): kotlin.Short = buffer.getShort()
override fun readByteArray(): ByteArray {
val remaining = buffer.remaining()
return readByteArray(remaining.toLong())
}
override fun readByteArray(len: kotlin.Long): ByteArray {
val startIndex = buffer.position().toLong()
val indexAfterLast = (startIndex + len).toInt()
val byteArray = getByteArray(startIndex, len.toInt())
buffer.position(indexAfterLast)
return byteArray
}
}
@Structure.FieldOrder("capacity", "len", "data")
open class RustBufferStructure : Structure() {
@JvmField
var capacity: kotlin.Int = 0
@JvmField
var len: kotlin.Int = 0
@JvmField
var data: Pointer? = null
}
actual class RustBuffer : RustBufferStructure(), Structure.ByValue
actual class RustBufferPointer : ByReference(16) {
fun setValueInternal(value: RustBuffer) {
pointer.setInt(0, value.capacity)
pointer.setInt(4, value.len)
pointer.setPointer(8, value.data)
}
}
actual fun RustBuffer.asSource(): NoCopySource = requireNotNull(data).asSource(len.toLong())
actual val RustBuffer.dataSize: kotlin.Int
get() = len
actual fun RustBuffer.free() =
rustCall { status: RustCallStatus ->
UniFFILib.ffi_keychainstore_rustbuffer_free(this, status)
}
actual fun allocRustBuffer(buffer: Buffer): RustBuffer =
rustCall { status: RustCallStatus ->
val size = buffer.size
var readPosition = 0L
UniFFILib.ffi_keychainstore_rustbuffer_alloc(size.toInt(), status).also { rustBuffer: RustBuffer ->
val data = rustBuffer.data
?: throw RuntimeException("RustBuffer.alloc() returned null data pointer (size=${size})")
rustBuffer.writeField("len", size.toInt())
// Loop until the buffer is completed read, okio reads max 8192 bytes
while (readPosition < size) {
readPosition += buffer.read(data.getByteBuffer(readPosition, size - readPosition))
}
}
}
actual fun RustBufferPointer.setValue(value: RustBuffer) = setValueInternal(value)
actual fun emptyRustBuffer(): RustBuffer = RustBuffer()
// 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 in the JVM, 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.
@Structure.FieldOrder("len", "data")
actual open class ForeignBytes : Structure() {
@JvmField
var len: kotlin.Int = 0
@JvmField
var data: Pointer? = null
}
@Structure.FieldOrder("code", "error_buf")
actual open class RustCallStatus : Structure() {
@JvmField
var code: kotlin.Byte = 0
@JvmField
var error_buf: RustBuffer = RustBuffer()
}
actual val RustCallStatus.statusCode: kotlin.Byte
get() = code
actual val RustCallStatus.errorBuffer: RustBuffer
get() = error_buf
actual fun withRustCallStatus(block: (RustCallStatus) -> T): T {
val rustCallStatus = RustCallStatus()
return block(rustCallStatus)
}
// TODO remove suppress when https://youtrack.jetbrains.com/issue/KT-29819/New-rules-for-expect-actual-declarations-in-MPP is solved
@Suppress("NO_ACTUAL_FOR_EXPECT")
actual open class RustCallStatusByValue : RustCallStatus(), ByValue
actual class UniFfiHandleMap {
private val map = ConcurrentHashMap()
// Use AtomicInteger for our counter, since we may be on a 32-bit system. 4 billion possible
// values seems like enough. If somehow we generate 4 billion handles, then this will wrap
// around back to zero and we can assume the first handle generated will have been dropped by
// then.
private val counter = java.util.concurrent.atomic.AtomicInteger(0)
actual val size: kotlin.Int
get() = map.size
actual fun insert(obj: T): kotlin.ULong {
val handle = counter.getAndAdd(1).toULong()
map.put(handle, obj)
return handle
}
actual fun get(handle: kotlin.ULong): T? {
return map.get(handle)
}
actual fun remove(handle: kotlin.ULong): T? {
return map.remove(handle)
}
}
// FFI type for Rust future continuations
internal class UniFfiRustFutureContinuationCallbackImpl() : Callback {
fun invoke(continuationHandle: kotlin.ULong, pollResult: kotlin.Short) = resumeContinutation(continuationHandle, pollResult)
}
internal actual typealias UniFfiRustFutureContinuationCallbackType = UniFfiRustFutureContinuationCallbackImpl
internal actual fun createUniFfiRustFutureContinuationCallback(): UniFfiRustFutureContinuationCallbackType =
UniFfiRustFutureContinuationCallbackImpl()
// Contains loading, initialization code,
// and the FFI Function declarations.
@Synchronized
private fun findLibraryName(): kotlin.String {
val componentName = "keychainstore"
val libOverride = System.getProperty("uniffi.component.$componentName.libraryOverride")
if (libOverride != null) {
return libOverride
}
return "keychainstore"
}
actual internal object UniFFILib : Library {
init {
Native.register(UniFFILib::class.java, findLibraryName())
}
@JvmName("uniffi_keychainstore_fn_func_keychain_delete_item")
actual external fun uniffi_keychainstore_fn_func_keychain_delete_item(`scope`: RustBuffer,`key`: RustBuffer,_uniffi_out_err: RustCallStatus,
): Byte
@JvmName("uniffi_keychainstore_fn_func_keychain_get_item")
actual external fun uniffi_keychainstore_fn_func_keychain_get_item(`scope`: RustBuffer,`key`: RustBuffer,_uniffi_out_err: RustCallStatus,
): RustBuffer
@JvmName("uniffi_keychainstore_fn_func_keychain_has_item")
actual external fun uniffi_keychainstore_fn_func_keychain_has_item(`scope`: RustBuffer,`key`: RustBuffer,_uniffi_out_err: RustCallStatus,
): Byte
@JvmName("uniffi_keychainstore_fn_func_keychain_item_keys")
actual external fun uniffi_keychainstore_fn_func_keychain_item_keys(`scope`: RustBuffer,_uniffi_out_err: RustCallStatus,
): RustBuffer
@JvmName("uniffi_keychainstore_fn_func_keychain_set_item")
actual external fun uniffi_keychainstore_fn_func_keychain_set_item(`scope`: RustBuffer,`key`: RustBuffer,`value`: RustBuffer,_uniffi_out_err: RustCallStatus,
): Byte
@JvmName("uniffi_keychainstore_fn_func_keychain_support_enum_keys")
actual external fun uniffi_keychainstore_fn_func_keychain_support_enum_keys(_uniffi_out_err: RustCallStatus,
): Byte
@JvmName("ffi_keychainstore_rustbuffer_alloc")
actual external fun ffi_keychainstore_rustbuffer_alloc(`size`: Int,_uniffi_out_err: RustCallStatus,
): RustBuffer
@JvmName("ffi_keychainstore_rustbuffer_from_bytes")
actual external fun ffi_keychainstore_rustbuffer_from_bytes(`bytes`: ForeignBytes,_uniffi_out_err: RustCallStatus,
): RustBuffer
@JvmName("ffi_keychainstore_rustbuffer_free")
actual external fun ffi_keychainstore_rustbuffer_free(`buf`: RustBuffer,_uniffi_out_err: RustCallStatus,
): Unit
@JvmName("ffi_keychainstore_rustbuffer_reserve")
actual external fun ffi_keychainstore_rustbuffer_reserve(`buf`: RustBuffer,`additional`: Int,_uniffi_out_err: RustCallStatus,
): RustBuffer
@JvmName("ffi_keychainstore_rust_future_continuation_callback_set")
actual external fun ffi_keychainstore_rust_future_continuation_callback_set(`callback`: UniFfiRustFutureContinuationCallbackType,
): Unit
@JvmName("ffi_keychainstore_rust_future_poll_u8")
actual external fun ffi_keychainstore_rust_future_poll_u8(`handle`: Pointer,`uniffiCallback`: ULong,
): Unit
@JvmName("ffi_keychainstore_rust_future_cancel_u8")
actual external fun ffi_keychainstore_rust_future_cancel_u8(`handle`: Pointer,
): Unit
@JvmName("ffi_keychainstore_rust_future_free_u8")
actual external fun ffi_keychainstore_rust_future_free_u8(`handle`: Pointer,
): Unit
@JvmName("ffi_keychainstore_rust_future_complete_u8")
actual external fun ffi_keychainstore_rust_future_complete_u8(`handle`: Pointer,_uniffi_out_err: RustCallStatus,
): UByte
@JvmName("ffi_keychainstore_rust_future_poll_i8")
actual external fun ffi_keychainstore_rust_future_poll_i8(`handle`: Pointer,`uniffiCallback`: ULong,
): Unit
@JvmName("ffi_keychainstore_rust_future_cancel_i8")
actual external fun ffi_keychainstore_rust_future_cancel_i8(`handle`: Pointer,
): Unit
@JvmName("ffi_keychainstore_rust_future_free_i8")
actual external fun ffi_keychainstore_rust_future_free_i8(`handle`: Pointer,
): Unit
@JvmName("ffi_keychainstore_rust_future_complete_i8")
actual external fun ffi_keychainstore_rust_future_complete_i8(`handle`: Pointer,_uniffi_out_err: RustCallStatus,
): Byte
@JvmName("ffi_keychainstore_rust_future_poll_u16")
actual external fun ffi_keychainstore_rust_future_poll_u16(`handle`: Pointer,`uniffiCallback`: ULong,
): Unit
@JvmName("ffi_keychainstore_rust_future_cancel_u16")
actual external fun ffi_keychainstore_rust_future_cancel_u16(`handle`: Pointer,
): Unit
@JvmName("ffi_keychainstore_rust_future_free_u16")
actual external fun ffi_keychainstore_rust_future_free_u16(`handle`: Pointer,
): Unit
@JvmName("ffi_keychainstore_rust_future_complete_u16")
actual external fun ffi_keychainstore_rust_future_complete_u16(`handle`: Pointer,_uniffi_out_err: RustCallStatus,
): UShort
@JvmName("ffi_keychainstore_rust_future_poll_i16")
actual external fun ffi_keychainstore_rust_future_poll_i16(`handle`: Pointer,`uniffiCallback`: ULong,
): Unit
@JvmName("ffi_keychainstore_rust_future_cancel_i16")
actual external fun ffi_keychainstore_rust_future_cancel_i16(`handle`: Pointer,
): Unit
@JvmName("ffi_keychainstore_rust_future_free_i16")
actual external fun ffi_keychainstore_rust_future_free_i16(`handle`: Pointer,
): Unit
@JvmName("ffi_keychainstore_rust_future_complete_i16")
actual external fun ffi_keychainstore_rust_future_complete_i16(`handle`: Pointer,_uniffi_out_err: RustCallStatus,
): Short
@JvmName("ffi_keychainstore_rust_future_poll_u32")
actual external fun ffi_keychainstore_rust_future_poll_u32(`handle`: Pointer,`uniffiCallback`: ULong,
): Unit
@JvmName("ffi_keychainstore_rust_future_cancel_u32")
actual external fun ffi_keychainstore_rust_future_cancel_u32(`handle`: Pointer,
): Unit
@JvmName("ffi_keychainstore_rust_future_free_u32")
actual external fun ffi_keychainstore_rust_future_free_u32(`handle`: Pointer,
): Unit
@JvmName("ffi_keychainstore_rust_future_complete_u32")
actual external fun ffi_keychainstore_rust_future_complete_u32(`handle`: Pointer,_uniffi_out_err: RustCallStatus,
): UInt
@JvmName("ffi_keychainstore_rust_future_poll_i32")
actual external fun ffi_keychainstore_rust_future_poll_i32(`handle`: Pointer,`uniffiCallback`: ULong,
): Unit
@JvmName("ffi_keychainstore_rust_future_cancel_i32")
actual external fun ffi_keychainstore_rust_future_cancel_i32(`handle`: Pointer,
): Unit
@JvmName("ffi_keychainstore_rust_future_free_i32")
actual external fun ffi_keychainstore_rust_future_free_i32(`handle`: Pointer,
): Unit
@JvmName("ffi_keychainstore_rust_future_complete_i32")
actual external fun ffi_keychainstore_rust_future_complete_i32(`handle`: Pointer,_uniffi_out_err: RustCallStatus,
): Int
@JvmName("ffi_keychainstore_rust_future_poll_u64")
actual external fun ffi_keychainstore_rust_future_poll_u64(`handle`: Pointer,`uniffiCallback`: ULong,
): Unit
@JvmName("ffi_keychainstore_rust_future_cancel_u64")
actual external fun ffi_keychainstore_rust_future_cancel_u64(`handle`: Pointer,
): Unit
@JvmName("ffi_keychainstore_rust_future_free_u64")
actual external fun ffi_keychainstore_rust_future_free_u64(`handle`: Pointer,
): Unit
@JvmName("ffi_keychainstore_rust_future_complete_u64")
actual external fun ffi_keychainstore_rust_future_complete_u64(`handle`: Pointer,_uniffi_out_err: RustCallStatus,
): ULong
@JvmName("ffi_keychainstore_rust_future_poll_i64")
actual external fun ffi_keychainstore_rust_future_poll_i64(`handle`: Pointer,`uniffiCallback`: ULong,
): Unit
@JvmName("ffi_keychainstore_rust_future_cancel_i64")
actual external fun ffi_keychainstore_rust_future_cancel_i64(`handle`: Pointer,
): Unit
@JvmName("ffi_keychainstore_rust_future_free_i64")
actual external fun ffi_keychainstore_rust_future_free_i64(`handle`: Pointer,
): Unit
@JvmName("ffi_keychainstore_rust_future_complete_i64")
actual external fun ffi_keychainstore_rust_future_complete_i64(`handle`: Pointer,_uniffi_out_err: RustCallStatus,
): Long
@JvmName("ffi_keychainstore_rust_future_poll_f32")
actual external fun ffi_keychainstore_rust_future_poll_f32(`handle`: Pointer,`uniffiCallback`: ULong,
): Unit
@JvmName("ffi_keychainstore_rust_future_cancel_f32")
actual external fun ffi_keychainstore_rust_future_cancel_f32(`handle`: Pointer,
): Unit
@JvmName("ffi_keychainstore_rust_future_free_f32")
actual external fun ffi_keychainstore_rust_future_free_f32(`handle`: Pointer,
): Unit
@JvmName("ffi_keychainstore_rust_future_complete_f32")
actual external fun ffi_keychainstore_rust_future_complete_f32(`handle`: Pointer,_uniffi_out_err: RustCallStatus,
): Float
@JvmName("ffi_keychainstore_rust_future_poll_f64")
actual external fun ffi_keychainstore_rust_future_poll_f64(`handle`: Pointer,`uniffiCallback`: ULong,
): Unit
@JvmName("ffi_keychainstore_rust_future_cancel_f64")
actual external fun ffi_keychainstore_rust_future_cancel_f64(`handle`: Pointer,
): Unit
@JvmName("ffi_keychainstore_rust_future_free_f64")
actual external fun ffi_keychainstore_rust_future_free_f64(`handle`: Pointer,
): Unit
@JvmName("ffi_keychainstore_rust_future_complete_f64")
actual external fun ffi_keychainstore_rust_future_complete_f64(`handle`: Pointer,_uniffi_out_err: RustCallStatus,
): Double
@JvmName("ffi_keychainstore_rust_future_poll_pointer")
actual external fun ffi_keychainstore_rust_future_poll_pointer(`handle`: Pointer,`uniffiCallback`: ULong,
): Unit
@JvmName("ffi_keychainstore_rust_future_cancel_pointer")
actual external fun ffi_keychainstore_rust_future_cancel_pointer(`handle`: Pointer,
): Unit
@JvmName("ffi_keychainstore_rust_future_free_pointer")
actual external fun ffi_keychainstore_rust_future_free_pointer(`handle`: Pointer,
): Unit
@JvmName("ffi_keychainstore_rust_future_complete_pointer")
actual external fun ffi_keychainstore_rust_future_complete_pointer(`handle`: Pointer,_uniffi_out_err: RustCallStatus,
): Pointer
@JvmName("ffi_keychainstore_rust_future_poll_rust_buffer")
actual external fun ffi_keychainstore_rust_future_poll_rust_buffer(`handle`: Pointer,`uniffiCallback`: ULong,
): Unit
@JvmName("ffi_keychainstore_rust_future_cancel_rust_buffer")
actual external fun ffi_keychainstore_rust_future_cancel_rust_buffer(`handle`: Pointer,
): Unit
@JvmName("ffi_keychainstore_rust_future_free_rust_buffer")
actual external fun ffi_keychainstore_rust_future_free_rust_buffer(`handle`: Pointer,
): Unit
@JvmName("ffi_keychainstore_rust_future_complete_rust_buffer")
actual external fun ffi_keychainstore_rust_future_complete_rust_buffer(`handle`: Pointer,_uniffi_out_err: RustCallStatus,
): RustBuffer
@JvmName("ffi_keychainstore_rust_future_poll_void")
actual external fun ffi_keychainstore_rust_future_poll_void(`handle`: Pointer,`uniffiCallback`: ULong,
): Unit
@JvmName("ffi_keychainstore_rust_future_cancel_void")
actual external fun ffi_keychainstore_rust_future_cancel_void(`handle`: Pointer,
): Unit
@JvmName("ffi_keychainstore_rust_future_free_void")
actual external fun ffi_keychainstore_rust_future_free_void(`handle`: Pointer,
): Unit
@JvmName("ffi_keychainstore_rust_future_complete_void")
actual external fun ffi_keychainstore_rust_future_complete_void(`handle`: Pointer,_uniffi_out_err: RustCallStatus,
): Unit
@JvmName("uniffi_keychainstore_checksum_func_keychain_delete_item")
actual external fun uniffi_keychainstore_checksum_func_keychain_delete_item(
): UShort
@JvmName("uniffi_keychainstore_checksum_func_keychain_get_item")
actual external fun uniffi_keychainstore_checksum_func_keychain_get_item(
): UShort
@JvmName("uniffi_keychainstore_checksum_func_keychain_has_item")
actual external fun uniffi_keychainstore_checksum_func_keychain_has_item(
): UShort
@JvmName("uniffi_keychainstore_checksum_func_keychain_item_keys")
actual external fun uniffi_keychainstore_checksum_func_keychain_item_keys(
): UShort
@JvmName("uniffi_keychainstore_checksum_func_keychain_set_item")
actual external fun uniffi_keychainstore_checksum_func_keychain_set_item(
): UShort
@JvmName("uniffi_keychainstore_checksum_func_keychain_support_enum_keys")
actual external fun uniffi_keychainstore_checksum_func_keychain_support_enum_keys(
): UShort
@JvmName("ffi_keychainstore_uniffi_contract_version")
actual external fun ffi_keychainstore_uniffi_contract_version(
): UInt
}
// Async support
// Public interface members begin here.
© 2015 - 2025 Weber Informatics LLC | Privacy Policy