Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use crate::plugin::cast_ref;
use crate::PluginManager;
use atri_ffi::RustStr;

pub extern "C" fn log(handle: usize, manager: *const (), level: u8, str: RustStr) {
    let manager: &PluginManager = cast_ref(manager);
    let str = str.as_ref();
    if let Some(plugin) = manager.find_plugin(handle) {
        match level {
            0 => tracing::trace!("{}: {}", plugin, str),
            1 => tracing::debug!("{}: {}", plugin, str),
            2 => tracing::info!("{}: {}", plugin, str),
            3 => tracing::warn!("{}: {}", plugin, str),
            4 => tracing::error!("{}: {}", plugin, str),
            _ => tracing::info!("{}: {}", plugin, str),
        }
    }
}