fune/toolkit/components/uniffi-js
Ben Dean-Kawamura d7f0b286fe Bug 1766045 - Fixes to make the hybrid builds work r=markh,teshaq
This is a repsonse to the build errors I noticed with
build-macosx64-hybrid/plain, build-win64-hybrid/plain, and
build-linux64-hybrid/plain.

I'm not exactly sure why those build had errors but others didn't, but
my guess is that it was a combination of:
  - A clang++ producing different warnings/errors.
  - The uniffied builds being arranged slightly differently, which
    surfaced errors based on missing include statements.

Differential Revision: https://phabricator.services.mozilla.com/D153414
2022-08-03 18:59:38 +00:00
..
moz.build Bug 1766045 - Adding mach command to generate UniFFI files r=glandium 2022-08-03 18:59:36 +00:00
OwnedRustBuffer.cpp Bug 1766045 - Initial work for UniFFI JS bindings r=nika 2022-08-03 18:59:35 +00:00
OwnedRustBuffer.h Bug 1766045 - Initial work for UniFFI JS bindings r=nika 2022-08-03 18:59:35 +00:00
README.md Bug 1766045 - Initial work for UniFFI JS bindings r=nika 2022-08-03 18:59:35 +00:00
ScaffoldingCall.h Bug 1766045 - Fixes to make the hybrid builds work r=markh,teshaq 2022-08-03 18:59:38 +00:00
ScaffoldingConverter.h Bug 1766045 - Initial work for UniFFI JS bindings r=nika 2022-08-03 18:59:35 +00:00
UniFFIFixtureScaffolding.cpp Bug 1766045 - Initial work for UniFFI JS bindings r=nika 2022-08-03 18:59:35 +00:00
UniFFIGeneratedScaffolding.cpp Bug 1766045 - Fixes to make the hybrid builds work r=markh,teshaq 2022-08-03 18:59:38 +00:00
UniFFIPointer.cpp Bug 1766045 - Initial work for UniFFI JS bindings r=nika 2022-08-03 18:59:35 +00:00
UniFFIPointer.h Bug 1766045 - Fixes to make the hybrid builds work r=markh,teshaq 2022-08-03 18:59:38 +00:00
UniFFIPointerType.h Bug 1766045 - Initial work for UniFFI JS bindings r=nika 2022-08-03 18:59:35 +00:00
UniFFIRust.h Bug 1766045 - Initial work for UniFFI JS bindings r=nika 2022-08-03 18:59:35 +00:00
UniFFIScaffolding.cpp Bug 1766045 - Fixes to make the hybrid builds work r=markh,teshaq 2022-08-03 18:59:38 +00:00
UniFFIScaffolding.h Bug 1766045 - Fixes to make the hybrid builds work r=markh,teshaq 2022-08-03 18:59:38 +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 code for all non-testing UDL files.
    • UniFFIFixtureScaffolding.cpp contains generated code for test fixture UDL files. It's only compiled if --enable-uniffi-fixtures is set.
    • UniFFIScaffolding.cpp is a facade that wraps UniFFIFixtureScaffolding, and UniFFIGeneratedScaffolding if enabled, to implement the interface.
  • ScaffoldingConverter.h, ScaffoldingCall.h contain generic code to make the scaffolding calls. In general, we try to keep the logic of the calls in these files and limit the generated code to routing call IDs to template classes defined here.

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

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