uniffi_bridged_engine

Macro uniffi_bridged_engine 

Source
macro_rules! uniffi_bridged_engine {
    ($name:ident) => { ... };
}
Expand description

Generates a UniFFI-exposable bridged engine newtype around BridgedEngineWrapper, removing the ~100 lines of identical facade boilerplate each consuming crate used to hand-write.

Usage (invoke in the module the crate’s UDL interface resolves against):

sync15::uniffi_bridged_engine!(LoginsBridgedEngine);
sync15::uniffi_bridged_engine!(TabsBridgedEngine);

All bridged engines expose the same interface; set_uploaded takes ids as a plain sequence<string> in every crate’s UDL. The generated methods return anyhow::Result, which the crate’s UDL [Throws=...] maps to its error type via the existing impl From<anyhow::Error>.

The macro always emits set_clients; a crate whose UDL doesn’t declare it (logins, webext-storage) simply leaves that inherent method unbound, which is harmless.