pub trait Plugin: Send + Sync {
// Required methods
fn metadata(&self) -> PluginMetadata;
fn initialize(&mut self, config: PluginConfig) -> Result<(), PluginError>;
fn execute(
&self,
context: &PluginContext,
) -> Result<PluginResult, PluginError>;
fn cleanup(&mut self);
}Expand description
Plugin trait that all plugins must implement
Required Methods§
Sourcefn metadata(&self) -> PluginMetadata
fn metadata(&self) -> PluginMetadata
Plugin metadata
Sourcefn initialize(&mut self, config: PluginConfig) -> Result<(), PluginError>
fn initialize(&mut self, config: PluginConfig) -> Result<(), PluginError>
Initialize the plugin
Sourcefn execute(&self, context: &PluginContext) -> Result<PluginResult, PluginError>
fn execute(&self, context: &PluginContext) -> Result<PluginResult, PluginError>
Execute plugin functionality