#[macro_export]
macro_rules! plugin_main {
($app_type:ty, $handler_builder:expr) => {
static HANDLER: ::std::sync::LazyLock<::everything_plugin::PluginHandler<$app_type>> =
::std::sync::LazyLock::new(|| {
::everything_plugin::PluginHandler::<$app_type>::handle_init_i18n(
::everything_plugin::sys::EVERYTHING_PLUGIN_PM_INIT,
0 as _,
);
$handler_builder
});
#[unsafe(no_mangle)]
pub extern "system" fn everything_plugin_proc(
msg: u32,
data: *mut ::std::ffi::c_void,
) -> *mut ::std::ffi::c_void {
::everything_plugin::PluginHandler::<$app_type>::handle_init_i18n(msg, data);
HANDLER.handle(msg, data)
}
};
}