pub struct ModuleRegistry { /* private fields */ }Expand description
Thread-safe registry of native modules.
Implementations§
Source§impl ModuleRegistry
impl ModuleRegistry
pub fn new() -> Self
Sourcepub fn register(&self, module: Arc<dyn NativeModule>) -> Result<(), ModuleError>
pub fn register(&self, module: Arc<dyn NativeModule>) -> Result<(), ModuleError>
Register a native module. Returns error if a module with the same name exists.
Sourcepub fn unregister(&self, name: &str) -> Option<Arc<dyn NativeModule>>
pub fn unregister(&self, name: &str) -> Option<Arc<dyn NativeModule>>
Unregister a module by name.
Sourcepub fn module_names(&self) -> Vec<String>
pub fn module_names(&self) -> Vec<String>
Get a list of all registered module names.
Sourcepub fn module_methods(
&self,
name: &str,
) -> Result<Vec<MethodDescriptor>, ModuleError>
pub fn module_methods( &self, name: &str, ) -> Result<Vec<MethodDescriptor>, ModuleError>
Get method descriptors for a module.
Sourcepub fn invoke_sync(
&self,
module_name: &str,
method: &str,
args: &[ModuleArg],
) -> ModuleResult
pub fn invoke_sync( &self, module_name: &str, method: &str, args: &[ModuleArg], ) -> ModuleResult
Invoke a synchronous method on a module.
Sourcepub async fn invoke_async(
&self,
module_name: &str,
method: &str,
args: &[ModuleArg],
) -> ModuleResult
pub async fn invoke_async( &self, module_name: &str, method: &str, args: &[ModuleArg], ) -> ModuleResult
Invoke an async method on a module.
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for ModuleRegistry
impl RefUnwindSafe for ModuleRegistry
impl Send for ModuleRegistry
impl Sync for ModuleRegistry
impl Unpin for ModuleRegistry
impl UnsafeUnpin for ModuleRegistry
impl UnwindSafe for ModuleRegistry
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