pub trait UntypedClientPlugin: MaybeSendSync + 'static {
// Required methods
fn manifest(&self) -> PluginManifest;
fn install(&self, context: PluginContext) -> PluginFuture<'_, Result<()>>;
// Provided methods
fn on_ready(
&self,
_scope: PluginConnectionScope,
) -> PluginFuture<'_, Result<()>> { ... }
fn on_closed(
&self,
_scope: PluginConnectionScope,
) -> PluginFuture<'_, Result<()>> { ... }
fn shutdown(&self) -> PluginFuture<'_, Result<()>> { ... }
}Available on crate feature
plugins only.Expand description
A trusted plugin instance identified only by its manifest ID.
Unlike ClientPlugin, this trait publishes no Rust type-indexed API, so
multiple instances of the same adapter type may be registered. It is the
intended host seam for runtime-defined or foreign-language plugins.
Required Methods§
fn manifest(&self) -> PluginManifest
fn install(&self, context: PluginContext) -> PluginFuture<'_, Result<()>>
Provided Methods§
fn on_ready( &self, _scope: PluginConnectionScope, ) -> PluginFuture<'_, Result<()>>
fn on_closed( &self, _scope: PluginConnectionScope, ) -> PluginFuture<'_, Result<()>>
fn shutdown(&self) -> PluginFuture<'_, Result<()>>
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".