pub struct PluginLibrary { /* private fields */ }Expand description
Represents a loaded plugin library
Implementations§
Source§impl PluginLibrary
impl PluginLibrary
Sourcepub fn metadata(&self) -> &PluginMetadata
pub fn metadata(&self) -> &PluginMetadata
Get plugin metadata
Sourcepub fn api_version(&self) -> u32
pub fn api_version(&self) -> u32
Get API version
Sourcepub unsafe fn create_instance(
&self,
) -> Result<Box<dyn AgentPlugin>, PluginLoadError>
pub unsafe fn create_instance( &self, ) -> Result<Box<dyn AgentPlugin>, PluginLoadError>
Create a new plugin instance from this library
§Safety
This function calls extern “C” functions from a dynamic library
Sourcepub unsafe fn destroy_instance(
&self,
plugin: Box<dyn AgentPlugin>,
) -> Result<(), PluginLoadError>
pub unsafe fn destroy_instance( &self, plugin: Box<dyn AgentPlugin>, ) -> Result<(), PluginLoadError>
Trait Implementations§
Auto Trait Implementations§
impl Freeze for PluginLibrary
impl RefUnwindSafe for PluginLibrary
impl Send for PluginLibrary
impl Sync for PluginLibrary
impl Unpin for PluginLibrary
impl UnsafeUnpin for PluginLibrary
impl UnwindSafe for PluginLibrary
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more