summaryrefslogtreecommitdiffstats
path: root/toolkit/components/uniffi-js/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/components/uniffi-js/README.md')
-rw-r--r--toolkit/components/uniffi-js/README.md23
1 files changed, 23 insertions, 0 deletions
diff --git a/toolkit/components/uniffi-js/README.md b/toolkit/components/uniffi-js/README.md
new file mode 100644
index 0000000000..addd0b4bcc
--- /dev/null
+++ b/toolkit/components/uniffi-js/README.md
@@ -0,0 +1,23 @@
+# 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.