Skip to main content

HostHooks

Struct HostHooks 

Source
pub struct HostHooks {
Show 17 fields pub file_loader_hook: Option<FileLoaderHook>, pub file_open_hook: Option<FileOpenHook>, pub stdin_hook: Option<InputHook>, pub stdout_hook: Option<OutputHook>, pub stderr_hook: Option<OutputHook>, pub env_hook: Option<EnvHook>, pub unix_time_hook: Option<UnixTimeHook>, pub cpu_clock_hook: Option<CpuClockHook>, pub entropy_hook: Option<EntropyHook>, pub temp_name_hook: Option<TempNameHook>, pub popen_hook: Option<PopenHook>, pub file_remove_hook: Option<FileRemoveHook>, pub file_rename_hook: Option<FileRenameHook>, pub os_execute_hook: Option<OsExecuteHook>, pub dynlib_load_hook: Option<DynLibLoadHook>, pub dynlib_symbol_hook: Option<DynLibSymbolHook>, pub dynlib_unload_hook: Option<DynLibUnloadHook>,
}
Expand description

Host capabilities exposed to Lua stdlib.

Every field is optional. Missing file, process, and dynamic-loading hooks produce Lua errors or Lua failure tuples. On bare wasm32-unknown-unknown, missing stdio/time/env/temp hooks avoid unsupported Rust std stubs and fail at the Lua boundary. Native builds may still use compatibility fallbacks for some stdio and OS functions when hooks are absent.

Fields§

§file_loader_hook: Option<FileLoaderHook>§file_open_hook: Option<FileOpenHook>§stdin_hook: Option<InputHook>§stdout_hook: Option<OutputHook>§stderr_hook: Option<OutputHook>§env_hook: Option<EnvHook>§unix_time_hook: Option<UnixTimeHook>§cpu_clock_hook: Option<CpuClockHook>§entropy_hook: Option<EntropyHook>§temp_name_hook: Option<TempNameHook>§popen_hook: Option<PopenHook>§file_remove_hook: Option<FileRemoveHook>§file_rename_hook: Option<FileRenameHook>§os_execute_hook: Option<OsExecuteHook>§dynlib_load_hook: Option<DynLibLoadHook>§dynlib_symbol_hook: Option<DynLibSymbolHook>§dynlib_unload_hook: Option<DynLibUnloadHook>

Implementations§

Source§

impl HostHooks

Source

pub fn new() -> Self

Source

pub fn file_loader(self, hook: FileLoaderHook) -> Self

Source

pub fn file_open(self, hook: FileOpenHook) -> Self

Source

pub fn stdin(self, hook: InputHook) -> Self

Source

pub fn stdout(self, hook: OutputHook) -> Self

Source

pub fn stderr(self, hook: OutputHook) -> Self

Source

pub fn env(self, hook: EnvHook) -> Self

Source

pub fn unix_time(self, hook: UnixTimeHook) -> Self

Source

pub fn cpu_clock(self, hook: CpuClockHook) -> Self

Source

pub fn entropy(self, hook: EntropyHook) -> Self

Source

pub fn temp_name(self, hook: TempNameHook) -> Self

Source

pub fn popen(self, hook: PopenHook) -> Self

Source

pub fn file_remove(self, hook: FileRemoveHook) -> Self

Source

pub fn file_rename(self, hook: FileRenameHook) -> Self

Source

pub fn os_execute(self, hook: OsExecuteHook) -> Self

Source

pub fn dynlib_load(self, hook: DynLibLoadHook) -> Self

Source

pub fn dynlib_symbol(self, hook: DynLibSymbolHook) -> Self

Source

pub fn dynlib_unload(self, hook: DynLibUnloadHook) -> Self

Source

pub fn install(self, state: &mut LuaState)

Trait Implementations§

Source§

impl Clone for HostHooks

Source§

fn clone(&self) -> HostHooks

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Default for HostHooks

Source§

fn default() -> HostHooks

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

impl Copy for HostHooks

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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.