pub trait SystemPlugin {
// Required method
fn gen_interfaces(&self) -> Vec<SysPluginSignature>;
// Provided methods
fn on_init(&mut self, _machine: &mut Machine) -> ReturnCode { ... }
fn after_main(&mut self, _machine: &mut Machine) -> ReturnCode { ... }
fn on_sample(&mut self, _time: Time, _machine: &mut Machine) -> ReturnCode { ... }
fn try_get_main_loop(&mut self) -> Option<Box<dyn FnOnce()>> { ... }
}
Expand description
Trait implemented by runtime plugins.
The default implementations of the callback methods do nothing. Plugins can
override these to perform setup in [on_init
], teardown in [after_main
],
or per-sample processing in [on_sample
].