pub trait PluginRegistry: Send + Sync {
// Required methods
fn register_plugin(
&mut self,
manifest: PluginManifest,
wasm_bytes: Vec<u8>,
) -> Result<()>;
fn unregister_plugin(&mut self, plugin_id: &str) -> Result<()>;
fn get_manifest(&self, plugin_id: &str) -> Result<&PluginManifest>;
fn list_plugins(&self) -> Vec<&PluginManifest>;
fn search_plugins(&self, query: &PluginQuery) -> Vec<&PluginManifest>;
fn get_dependencies(&self, plugin_id: &str) -> Result<Vec<&PluginManifest>>;
}
Expand description
Plugin registry for managing plugins
Required Methods§
Sourcefn register_plugin(
&mut self,
manifest: PluginManifest,
wasm_bytes: Vec<u8>,
) -> Result<()>
fn register_plugin( &mut self, manifest: PluginManifest, wasm_bytes: Vec<u8>, ) -> Result<()>
Register a new plugin
Sourcefn unregister_plugin(&mut self, plugin_id: &str) -> Result<()>
fn unregister_plugin(&mut self, plugin_id: &str) -> Result<()>
Unregister a plugin
Sourcefn get_manifest(&self, plugin_id: &str) -> Result<&PluginManifest>
fn get_manifest(&self, plugin_id: &str) -> Result<&PluginManifest>
Get plugin manifest
Sourcefn list_plugins(&self) -> Vec<&PluginManifest>
fn list_plugins(&self) -> Vec<&PluginManifest>
List all registered plugins
Sourcefn search_plugins(&self, query: &PluginQuery) -> Vec<&PluginManifest>
fn search_plugins(&self, query: &PluginQuery) -> Vec<&PluginManifest>
Search plugins by criteria
Sourcefn get_dependencies(&self, plugin_id: &str) -> Result<Vec<&PluginManifest>>
fn get_dependencies(&self, plugin_id: &str) -> Result<Vec<&PluginManifest>>
Get plugin dependencies