Skip to main content

kplayer_rust_wrap/kplayer/util/
core.rs

1#[allow(dead_code)]
2extern "C" {
3    fn GetPluginVersion() -> i32;
4    fn UpdateArg(key: i32, value: i32) -> i32;
5    fn SetEnable(enable: i32) -> i32;
6    fn Reload() -> i32;
7}
8
9#[allow(dead_code)]
10pub fn get_plugin_version() -> String {
11    unsafe {
12        let version = super::string::DynamicString::receive(GetPluginVersion()).unwrap();
13        version
14    }
15}
16
17#[allow(dead_code)]
18pub fn update_args(key: String, value: String) -> Result<bool, String> {
19    unsafe {
20        let key_index = super::string::DynamicString::from(key.as_bytes()).get_index();
21        let value_index = super::string::DynamicString::from(value.as_bytes()).get_index();
22        let result = UpdateArg(key_index, value_index);
23        if result != 0 {
24            let err = super::string::DynamicString::receive(result).unwrap();
25            return Err(err);
26        }
27        Ok(true)
28    }
29}
30
31#[allow(dead_code)]
32pub fn set_enable(enable: bool) -> Result<bool, String> {
33    unsafe {
34        let mut enable_prams = 1;
35        if !enable {
36            enable_prams = 0;
37        }
38        let result = SetEnable(enable_prams);
39        if result != 0 {
40            let err = super::string::DynamicString::receive(result).unwrap();
41            return Err(err);
42        }
43        Ok(true)
44    }
45}
46
47#[allow(dead_code)]
48pub fn reload() -> Result<bool, String> {
49    unsafe {
50        let result = Reload();
51        if result != 0 {
52            let err = super::string::DynamicString::receive(result).unwrap();
53            return Err(err);
54        }
55        Ok(true)
56    }
57}