LuaManager

Struct LuaManager 

Source
pub struct LuaManager { /* private fields */ }
Expand description

The main manager type for Lua plugins.

This struct is responsible for managing the lifecycle of Lua plugins, including loading, unloading, and interacting with them. It maintains a mapping of plugin bundles to their respective Lua states.

§Thread Safety

LuaManager is Send and Sync, allowing it to be used safely across thread boundaries. Each plugin’s Lua state is protected by a mutex to ensure thread safety.

Implementations§

Source§

impl LuaManager

Source

pub fn new() -> Self

Creates a new instance of LuaManager.

§Examples
use plux_lua_manager::LuaManager;

let manager = LuaManager::new();

Trait Implementations§

Source§

impl Default for LuaManager

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl<'a> Manager<'a, Result<Option<Variable>, Box<dyn Error + Sync + Send>>, StdInfo> for LuaManager

Source§

fn format(&self) -> &'static str

Returns the format identifier for this manager (“lua”).

Source§

fn register_plugin( &mut self, context: RegisterPluginContext<'_>, ) -> ManagerResult<StdInfo>

Registers a new plugin.

Source§

fn unregister_plugin( &mut self, plugin: &Plugin<'a, FunctionOutput, StdInfo>, ) -> ManagerResult<()>

Unregisters a plugin.

Source§

fn load_plugin( &mut self, context: LoadPluginContext<'a, '_, FunctionOutput, StdInfo>, api: Api<FunctionOutput, StdInfo>, ) -> ManagerResult<()>

Loads a plugin into memory.

Source§

fn unload_plugin( &mut self, plugin: &Plugin<'a, FunctionOutput, StdInfo>, ) -> Result<(), Box<dyn Error + Send + Sync>>

Unloads a plugin from memory.

Source§

fn register_manager(&mut self) -> Result<(), Box<dyn Error + Sync + Send>>

Called when the manager is registered with the loader. Read more
Source§

fn unregister_manager(&mut self) -> Result<(), Box<dyn Error + Sync + Send>>

Called when the manager is unregistered from the loader. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> MaybeSend for T
where T: Send,