holochain-conductor-runtime-types-ffi 0.2.3

Types used in holochain-conductor-runtime-ffi, used by both client and service.
Documentation

holochain-conductor-runtime-types-ffi

This crate contains wrappers around types used in requests & responses of holochain-conductor-runtime-ffi, which are compatible with uniffi.

It generates FFI bindings for Kotlin.

Build

This repo includes a script to build the crate as a library for android targets, generate kotlin bindings, and copy both the library and bindings into the kotlin library org.holochain.androidserviceruntime.client.

Supported android targets are aarch64-linux-android, x86_64-linux-android, and i686-linux-android.

For all supported android targets

To build for all supported android targets, run:

./build.sh

For a single target

To build for a single android target, run:

./build-single-target.sh <TARGET-ARCH>

where <TARGET_ARCH> is the rust target triple, i.e. aarch64-linux-android.

Uniffi Gotchas

  • Enum variants cannot have the same name as other types (i.e. Error enum variants cannot match other error types)
  • Generated types may have different casing. For example kotlin types use TitleCase