pub struct PluginWorld { /* private fields */ }Expand description
Auto-generated bindings for an instance a component which
implements the world plugin-world.
This structure can be created through a number of means depending on your requirements and what you have on hand:
-
The most convenient way is to use
PluginWorld::instantiatewhich only needs aStore,Component, andLinker. -
Alternatively you can create a
PluginWorldPreahead of time with aComponentto front-load string lookups of exports once instead of per-instantiation. This method then usesPluginWorldPre::instantiateto create aPluginWorld. -
If you’ve instantiated the instance yourself already then you can use
PluginWorld::new. -
You can also access the guts of instantiation through
PluginWorldIndices::new_instancefollowed byPluginWorldIndices::loadto crate an instance of this type.
These methods are all equivalent to one another and move around the tradeoff of what work is performed when.
Implementations§
Source§impl PluginWorld
impl PluginWorld
Sourcepub fn instantiate<_T>(
store: impl AsContextMut<Data = _T>,
component: &Component,
linker: &Linker<_T>,
) -> Result<PluginWorld>
pub fn instantiate<_T>( store: impl AsContextMut<Data = _T>, component: &Component, linker: &Linker<_T>, ) -> Result<PluginWorld>
Convenience wrapper around PluginWorldPre::new and
PluginWorldPre::instantiate.
Sourcepub fn new(store: impl AsContextMut, instance: &Instance) -> Result<PluginWorld>
pub fn new(store: impl AsContextMut, instance: &Instance) -> Result<PluginWorld>
Convenience wrapper around PluginWorldIndices::new_instance and
PluginWorldIndices::load.
pub fn add_to_linker<T, U>( linker: &mut Linker<T>, get: impl Fn(&mut T) -> &mut U + Send + Sync + Copy + 'static, ) -> Result<()>
pub fn yosh_plugin_plugin(&self) -> &Guest
pub fn yosh_plugin_hooks(&self) -> &Guest
Auto Trait Implementations§
impl Freeze for PluginWorld
impl RefUnwindSafe for PluginWorld
impl Send for PluginWorld
impl Sync for PluginWorld
impl Unpin for PluginWorld
impl UnsafeUnpin for PluginWorld
impl UnwindSafe for PluginWorld
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
Source§impl<T> GetSetFdFlags for T
impl<T> GetSetFdFlags for T
Source§fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
self file descriptor.Source§fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
Source§fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>where
T: AsFilelike,
fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>where
T: AsFilelike,
self file descriptor. Read moreSource§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>
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>
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