Files
tubestation/toolkit/components/uniffi-js
Ben Dean-Kawamura 02e1f4d5fd Bug 1951241 - Refactor ScaffoldingConverter.h, r=markh,nika,frontend-codestyle-reviewers
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
2025-04-11 12:58:06 +00:00
..

uniffi-js

This directory contains C++ helper code for the UniFFI Rust library (https://github.com/mozilla/uniffi-rs/).

  • UniFFIPointer.* and UniFFIPointerType.* implement the UniFFIPointer WebIDL class

  • UniFFI*Scaffolding.cpp implements the UniFFIScaffolding WebIDL 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.h Lifts/Lowers JS values into FFI values.

  • OwnedRustBuffer.* implements a C++ class to help manager ownership of a RustBuffer.

  • UniFFIRust.h contains definitions for the C functions that UniFFI exports.