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}