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.