kplayer_rust_wrap/
lib.rs

1pub mod kplayer;
2
3#[macro_export]
4macro_rules! export {
5    ($($class_name: ident),*) => {
6        #[no_mangle]
7        pub extern "C" fn Initialization() -> i32 {
8            // export plugin instance
9            $(
10            kplayer::export_plugin(Box::new($class_name::new()));
11            )*
12
13            // register timer
14            kplayer::register_task();
15
16            // register subscribe
17            kplayer::register_message();
18
19            0
20        }
21    };
22}
23
24#[macro_export]
25macro_rules! version {
26    () => {
27        #[no_mangle]
28        pub extern "C" fn GetVersion() -> i32 {
29            10501
30        }
31    };
32}