Replaced `ScaffoldingConverter` with a set of `FfiValue*` classes. The differences are: * The new classes better match other `uniffi-bindgen-gecko-js` names, and also use familiar UniFFI terms like `Lift` and `Lower`. * Object handles are now freed if there's an error. * The new classes store the FFI value internal rather than defining an `IntermediateType` associated type. * Moved header files into `mozilla/uniffi/` and removed the `UniFFI` prefix from the filename. This avoids weird filenames like `UniFFIFfiValue.h` Differential Revision: https://phabricator.services.mozilla.com/D240696
uniffi-js
This directory contains C++ helper code for the UniFFI Rust library (https://github.com/mozilla/uniffi-rs/).
-
UniFFIPointer.*andUniFFIPointerType.*implement theUniFFIPointerWebIDL class -
UniFFI*Scaffolding.cppimplements theUniFFIScaffoldingWebIDL class.- UniFFIGeneratedScaffolding.cpp contains the generated C++ code
- UniFFIScaffolding.cpp is a facade that wraps UniFFIFixtureScaffolding, and UniFFIGeneratedScaffolding if enabled, to implement the interface.
-
UniFFIFfiConverter.hLifts/Lowers JS values into FFI values. -
OwnedRustBuffer.*implements a C++ class to help manager ownership of a RustBuffer. -
UniFFIRust.hcontains definitions for the C functions that UniFFI exports.