fidius 0.0.0-alpha.1

Fidius — a Rust plugin framework for trait-to-dylib plugin systems
Documentation

Fidius — a Rust plugin framework for trait-to-dylib plugin systems.

This is the facade crate. Interface crates should depend on fidius only. It re-exports everything needed to define interfaces and implement plugins.

For interface crate authors

pub use fidius::{plugin_impl, PluginError};

#[fidius::plugin_interface(version = 1, buffer = PluginAllocated)]
pub trait MyPlugin: Send + Sync {
    fn process(&self, input: String) -> String;
}

For plugin crate authors

use my_interface::{plugin_impl, MyPlugin, PluginError};

pub struct MyImpl;

#[plugin_impl(MyPlugin)]
impl MyPlugin for MyImpl {
    fn process(&self, input: String) -> String {
        format!("processed: {input}")
    }
}

fidius_core::fidius_plugin_registry!();