diff --git "a/\\" "b/\\" deleted file mode 100644 index 9ee3963..0000000 --- "a/\\" +++ /dev/null @@ -1,55 +0,0 @@ -// Lord have mercy on me -#[macro_export] -macro_rules! plugin_info { - ($typ:ty, $name:literal, $version:literal, $license:literal) => { - - lazy_static::lazy_static!( - static ref PLUGIN_INFO: $crate::PluginInfo = $crate::PluginInfo::new($name, $version, $license); - ); - - static mut PLUG: *mut $typ = std::ptr::null_mut() as *mut $typ; - - #[no_mangle] - unsafe extern "C" fn plug_get_info() -> *const std::ffi::c_void { - PLUGIN_INFO.get_raw_ptr() - } - - #[no_mangle] - unsafe extern "C" fn plug_init(ctx: *const $crate::ContextRaw) { - PLUG = std::alloc::alloc(std::alloc::Layout::new::<$typ>()) as *mut $typ; - *PLUG = <$typ>::new(); - - let ctx = $crate::Context::new(ctx); - (&mut *PLUG).init(ctx); - } - - #[no_mangle] - unsafe extern "C" fn plug_pre_reload() -> *mut $typ { - //TODO: Untested - (&mut *PLUG).pre_reload(); - return PLUG; - } - - #[no_mangle] - unsafe extern "C" fn plug_post_reload(state: *mut $typ) { - //TODO: Untested - PLUG = state; - (&mut *PLUG).post_reload(); - } - - #[no_mangle] - unsafe extern "C" fn plug_poll(buf: *mut i8, len: std::ffi::c_uint) { - let mut buf = $crate::CBuffer::from_raw_parts_mut(buf, len as usize); - if let Err(_e) = (&mut *PLUG).poll(&mut buf) { - // TODO: Handle error maybe? - } - } - - #[no_mangle] - unsafe extern "C" fn plug_free() { - std::alloc::dealloc(PLUG as *mut u8, std::alloc::Layout::new::<$typ>()); - (&mut *PLUG).free(); - } - - }; -}