1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
pub mod kplayer;

#[macro_export]
macro_rules! export {
    ($($class_name: ident),*) => {
        #[no_mangle]
        pub extern "C" fn Initialization() -> i32 {
            // export plugin instance
            $(
            kplayer::export_plugin(Box::new($class_name::new()));
            )*

            // register timer
            kplayer::register_task();

            // register subscribe
            kplayer::register_message();

            0
        }
    };
}

#[macro_export]
macro_rules! version {
    () => {
        #[no_mangle]
        pub extern "C" fn GetVersion() -> i32 {
            10500
        }
    };
}