Struct perseus::plugins::FunctionalPluginAction
source · [−]pub struct FunctionalPluginAction<A, R> { /* private fields */ }
Expand description
An action which can be taken by many plugins. When run, a functional action will return a map of plugin names to their return types.
Trait Implementations
sourceimpl<A, R> Debug for FunctionalPluginAction<A, R>
impl<A, R> Debug for FunctionalPluginAction<A, R>
sourceimpl<A, R> Default for FunctionalPluginAction<A, R>
impl<A, R> Default for FunctionalPluginAction<A, R>
sourceimpl<A, R> PluginAction<A, R, HashMap<String, R, RandomState>> for FunctionalPluginAction<A, R>
impl<A, R> PluginAction<A, R, HashMap<String, R, RandomState>> for FunctionalPluginAction<A, R>
sourcefn run(
&self,
action_data: A,
plugin_data: &HashMap<String, Box<dyn Any + Send>>
) -> HashMap<String, R>
fn run(
&self,
action_data: A,
plugin_data: &HashMap<String, Box<dyn Any + Send>>
) -> HashMap<String, R>
Runs the action. This takes data that the action should expect, along with a map of plugins to their data.
sourcefn register_plugin(
&mut self,
name: &str,
runner: impl Fn(&A, &(dyn Any + Send)) -> R + Send + 'static
)
fn register_plugin(
&mut self,
name: &str,
runner: impl Fn(&A, &(dyn Any + Send)) -> R + Send + 'static
)
Registers a plugin that takes this action. Read more
sourcefn register_plugin_box(&mut self, name: &str, runner: Runner<A, R>)
fn register_plugin_box(&mut self, name: &str, runner: Runner<A, R>)
Same as .register_plugin()
, but takes a prepared runner in a Box
.
Auto Trait Implementations
impl<A, R> !RefUnwindSafe for FunctionalPluginAction<A, R>
impl<A, R> Send for FunctionalPluginAction<A, R>
impl<A, R> !Sync for FunctionalPluginAction<A, R>
impl<A, R> Unpin for FunctionalPluginAction<A, R>
impl<A, R> !UnwindSafe for FunctionalPluginAction<A, R>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more