3个版本
新 0.1.6 | 2024年8月14日 |
---|---|
0.1.5 | 2024年8月14日 |
0.1.4 | 2024年7月16日 |
184 在 操作系统
每月 208 下载
17KB
212 代码行
libspkg
Spkg Rust库
使用场景
libspkg可用于Spkg插件。这也是libspkg的主要方面。还有binpkg,但目前仅推荐与spkg一起使用。
Spkg插件
use libspkg::plugin::{Plugin, PluginProperties};
pub struct ExamplePlugin;
impl Plugin for ExamplePlugin {
fn execute(&self, args: &[String]) {
match args.first().unwrap().as_str() {
"test" => {
println!("Example spkg plugin")
},
_ => self.help()
}
}
fn help(&self) {
println!("Example help message")
}
}
#[allow(improper_ctypes_definitions)]
#[no_mangle]
pub extern "C" fn create_plugin() -> (Box<dyn Plugin>, PluginProperties) {
let properties: PluginProperties = PluginProperties {
name: "Example Plugin",
id: "example-plugin",
package_id: "com.example.exampleplugin",
version: env!("CARGO_PKG_VERSION"),
library_version: libspkg::VERSION,
};
(Box::new(ExamplePlugin), properties)
}
依赖
~0–9.5MB
~92K SLoC