Struct perseus::Plugin[][src]

pub struct Plugin<G: Html, D: Any> {
    pub name: String,
    pub functional_actions_registrar: Box<dyn Fn(FunctionalPluginActions<G>) -> FunctionalPluginActions<G>>,
    pub control_actions_registrar: Box<dyn Fn(ControlPluginActions) -> ControlPluginActions>,
    pub env: PluginEnv,
    // some fields omitted
}
Expand description

A Perseus plugin. This must be exported by all plugin crates so the user can register the plugin easily.

Fields

name: String

The machine name of the plugin, which will be used as a key in a HashMap with many other plugins. This should be the public crate name in all cases.

functional_actions_registrar: Box<dyn Fn(FunctionalPluginActions<G>) -> FunctionalPluginActions<G>>

A function that will be provided functional actions. It should then register runners from the plugin for every action that it takes.

control_actions_registrar: Box<dyn Fn(ControlPluginActions) -> ControlPluginActions>

A function that will be provided control actions. It should then register runners from the plugin for every action that it takes.

env: PluginEnv

The environment that the plugin should run in.

Implementations

Creates a new plugin with a name, functional actions, control actions, and whether or not the plugin is tinker-only.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.