pub struct LoadedPlugin {
pub info: PluginInfo,
pub vtable: *const c_void,
pub free_buffer: Option<unsafe extern "C" fn(*mut u8, usize)>,
pub method_count: u32,
pub descriptor: *const PluginDescriptor,
pub library: Arc<Library>,
}Expand description
A single validated plugin from a loaded library.
Fields§
§info: PluginInfoOwned metadata copied from the FFI descriptor.
vtable: *const c_voidRaw vtable pointer (points into the loaded library’s memory).
free_buffer: Option<unsafe extern "C" fn(*mut u8, usize)>Free function for plugin-allocated buffers.
method_count: u32Total number of methods in the vtable.
descriptor: *const PluginDescriptorRaw pointer to the plugin’s descriptor in library memory. Kept so the
host can read metadata fields (method_metadata, trait_metadata)
without re-walking the registry. Valid for the lifetime of library.
library: Arc<Library>Reference to the library to keep it alive.
Trait Implementations§
Source§impl Debug for LoadedPlugin
impl Debug for LoadedPlugin
impl Send for LoadedPlugin
impl Sync for LoadedPlugin
Auto Trait Implementations§
impl Freeze for LoadedPlugin
impl RefUnwindSafe for LoadedPlugin
impl Unpin for LoadedPlugin
impl UnsafeUnpin for LoadedPlugin
impl UnwindSafe for LoadedPlugin
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