Skip to main content

Module registry

Module registry 

Source
Expand description

Link-time registry of interfaces declared in a plugin crate.

Each #[plugin_interface(name = "...", version = N)] attribute submits a RegisteredInterface entry to this registry via inventory. The #[export] macro iterates the registry at runtime (inside cfmp_query_interfaces) to build the packed name\0version\0 payload the loader parses — so plugin authors no longer need to repeat the interface list in the #[export] attribute.

This is the plugin-side mirror of confium_core::ffi::registry: the core registry maps interface names to builder functions; this registry maps interface names to the versions a single plugin advertises.

Structs§

RegisteredInterface
One (name, version) pair that a plugin’s #[plugin_interface] attribute declared. Collected at link time via inventory.

Functions§

iter
Iterator over every interface registered in the linked plugin crate. Used by the #[export] macro to populate cfmp_query_interfaces without requiring the plugin author to redeclare the list.