1
0
Fork 0
forked from wry/wry
wry/i4config/src/macros.rs
2022-02-14 21:13:42 +01:00

68 lines
1.5 KiB
Rust

#[macro_export]
macro_rules! config {
($f:path) => {
#[no_mangle]
#[used]
pub static mut I4_CONFIG_ENTRY: $crate::_private::ConfigEntry = {
struct X;
impl $crate::_private::Config for X {
extern "C" fn configure() {
$f();
}
}
$crate::_private::ConfigEntryGen::<X>::ENTRY
};
};
}
macro_rules! get {
() => {{
#[allow(unused_unsafe)]
let client = unsafe {
let client = crate::_private::client::CLIENT.with(|client| client.get());
if client.is_null() {
return;
}
&*client
};
client
}};
}
// #[macro_export]
// macro_rules! log {
// ($lvl:expr, $($arg:tt)+) => ({
// $crate::log(
// $lvl,
// &format!($($args)*),
// );
// })
// }
//
// #[macro_export]
// macro_rules! trace {
// ($($arg:tt)+) => {
// $crate::log!($crate::LogLevel::Trace, $($arg)+)
// }
// }
//
// #[macro_export]
// macro_rules! debug {
// ($($arg:tt)+) => {
// $crate::log!($crate::LogLevel::Debug, $($arg)+)
// }
// }
//
// #[macro_export]
// macro_rules! info {
// ($($arg:tt)+) => {
// $crate::log!($crate::LogLevel::Info, $($arg)+)
// }
// }
//
// #[macro_export]
// macro_rules! info {
// ($($arg:tt)+) => {
// $crate::log!($crate::LogLevel::Info, $($arg)+)
// }
// }