atri_plugin 0.9.0

AtriPlugin
Documentation
use crate::loader::{get_plugin_handle, get_plugin_manager, get_vtb};
use atri_ffi::RustStr;

#[macro_export]
macro_rules! trace {
    ($($arg:tt)*) => {
        $crate::log::__log_info(0, &format!($($arg)*))
    };
}

#[macro_export]
macro_rules! debug {
    ($($arg:tt)*) => {
        $crate::log::__log_info(1, &format!($($arg)*))
    };
}

#[macro_export]
macro_rules! info {
    ($($arg:tt)*) => {
        $crate::log::__log_info(2, &format!($($arg)*))
    };
}

#[macro_export]
macro_rules! warn {
    ($($arg:tt)*) => {
        $crate::log::__log_info(3, &format!($($arg)*))
    };
}

#[macro_export]
macro_rules! error {
    ($($arg:tt)*) => {
        $crate::log::__log_info(4, &format!($($arg)*))
    };
}

pub fn __log_info(level: u8, str: &str) {
    let ffi = RustStr::from(str);
    (get_vtb().log)(get_plugin_handle(), get_plugin_manager(), level, ffi);
}