Struct perseus::plugins::ControlPluginAction
source · [−]pub struct ControlPluginAction<A, R> { /* private fields */ }
Expand description
A control action, which can only be taken by one plugin. When run, control actions will return an Option<R>
on what
their runners return, which will be None
if no runner is set.
Trait Implementations
sourceimpl<A, R> Debug for ControlPluginAction<A, R>
impl<A, R> Debug for ControlPluginAction<A, R>
sourceimpl<A, R> Default for ControlPluginAction<A, R>
impl<A, R> Default for ControlPluginAction<A, R>
sourceimpl<A, R> PluginAction<A, R, Option<R>> for ControlPluginAction<A, R>
impl<A, R> PluginAction<A, R, Option<R>> for ControlPluginAction<A, R>
sourcefn run(
&self,
action_data: A,
plugin_data: &HashMap<String, Box<dyn Any + Send>>
) -> Option<R>
fn run(
&self,
action_data: A,
plugin_data: &HashMap<String, Box<dyn Any + Send>>
) -> Option<R>
Runs the single registered runner for the action.
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 ControlPluginAction<A, R>
impl<A, R> Send for ControlPluginAction<A, R>
impl<A, R> !Sync for ControlPluginAction<A, R>
impl<A, R> Unpin for ControlPluginAction<A, R>
impl<A, R> !UnwindSafe for ControlPluginAction<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