firefly_rust/
misc.rs

1/// Log a debug message.
2pub fn log_debug(t: &str) {
3    let ptr = t.as_ptr() as u32;
4    let len = t.len() as u32;
5    unsafe {
6        bindings::log_debug(ptr, len);
7    }
8}
9
10/// Log an error message.
11pub fn log_error(t: &str) {
12    let ptr = t.as_ptr() as u32;
13    let len = t.len() as u32;
14    unsafe {
15        bindings::log_error(ptr, len);
16    }
17}
18
19/// Set the random seed.
20pub fn set_seed(seed: u32) {
21    unsafe {
22        bindings::set_seed(seed);
23    }
24}
25
26/// Get a random value.
27#[must_use]
28pub fn get_random() -> u32 {
29    unsafe { bindings::get_random() }
30}
31
32/// Exit the app after the current update is finished.
33pub fn quit() {
34    unsafe { bindings::quit() }
35}
36
37mod bindings {
38    #[link(wasm_import_module = "misc")]
39    extern {
40        pub(crate) fn log_debug(ptr: u32, len: u32);
41        pub(crate) fn log_error(ptr: u32, len: u32);
42        pub(crate) fn set_seed(seed: u32);
43        pub(crate) fn get_random() -> u32;
44        pub(crate) fn quit();
45    }
46}