Package-level declarations

Types

Link copied to clipboard
interface Disposable
Link copied to clipboard
data class EncryptedLogin(var record: RecordFields, var fields: LoginFields, var secFields: String)

An encrypted version of Login. This is what we return for all the "read" APIs - we never return the cleartext of encrypted fields.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
object FfiConverterTypeLoginStore : FfiConverter<LoginStore, <Error class: unknown class>>
Link copied to clipboard
open class ForeignBytes
Link copied to clipboard
Link copied to clipboard
data class Login(var record: RecordFields, var fields: LoginFields, var secFields: SecureLoginFields)

A login stored in the database

Link copied to clipboard
data class LoginEntry(var fields: LoginFields, var secFields: SecureLoginFields)

A login entry from the user, not linked to any database record. The add/update APIs input these, alongside an encryption key.

Link copied to clipboard
data class LoginFields(var origin: String, var httpRealm: String?, var formActionOrigin: String?, var usernameField: String, var passwordField: String)

The fields you can add or update.

Link copied to clipboard

These are the errors returned by our public API.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
object NoPointer

Used to instantiate an interface without an actual pointer, for fakes in tests, mostly.

Link copied to clipboard
data class RecordFields(var id: String, var timesUsed: Long, var timeCreated: Long, var timeLastUsed: Long, var timePasswordChanged: Long)

Fields specific to database records

Link copied to clipboard
open class RustBuffer
Link copied to clipboard

The equivalent of the *mut RustBuffer type. Required for callbacks taking in an out pointer.

Link copied to clipboard
data class SecureLoginFields(var password: String, var username: String)

Fields available only while the encryption key is known.

Link copied to clipboard
interface UniffiCleaner

Functions

Link copied to clipboard
fun checkCanary(canary: String, text: String, encryptionKey: String): Boolean

Check that key is still valid using the output of create_canary. text much match the text you initially passed to create_canary()

Link copied to clipboard
fun createCanary(text: String, encryptionKey: String): String

Create a "canary" string, which can be used to test if the encryption key is still valid for the logins data

Link copied to clipboard

We expose the crypto primitives on the namespace Create a new, random, encryption key.

Link copied to clipboard
fun decryptFields(secFields: String, encryptionKey: String): SecureLoginFields

Decrypt an encrypted string to SecureLoginFields

Link copied to clipboard
fun decryptLogin(login: EncryptedLogin, encryptionKey: String): Login

Decrypt an EncryptedLogin to a Login

Link copied to clipboard
fun encryptFields(secFields: SecureLoginFields, encryptionKey: String): String

Encrypt SecureLoginFields to an encrypted string

Link copied to clipboard
fun encryptLogin(login: Login, encryptionKey: String): EncryptedLogin

Encrypt a Login to an EncryptedLogin

Link copied to clipboard
inline fun <T : Disposable?, R> T.use(block: (T) -> R): R