use crate::Buffer;
#[derive(Clone, Copy, Hash, Debug, Eq, PartialEq, Ord, PartialOrd)]
#[repr(u8)]
pub enum LogLevel {
Log,
Debug,
Info,
Warning,
Error,
}
pub type Callback = extern "C" fn(user_data: *mut ());
#[link(wasm_import_module = "qwac_core")]
extern "C" {
pub fn log(string: *const u8, length: i32, level: i32);
pub fn timeout_create(
seconds: f32,
callback: Callback,
shutdown_cleanup: Callback,
userdata: *mut (),
) -> i32;
pub fn timeout_cancel(timeout: i32) -> *mut ();
pub fn timeout_drop(timeout: i32);
pub fn interval_create(
seconds: f32,
callback: Callback,
shutdown_cleanup: Callback,
userdata: *mut (),
) -> i32;
pub fn interval_cancel(interval: i32) -> *mut ();
pub fn interval_drop(interval: i32);
pub fn time() -> f64;
#[allow(improper_ctypes)]
pub fn error_get(error: i32) -> *mut Buffer;
pub fn set_update_interval(interval: f32);
pub fn resolve_promise(promise: i32);
}