Plugin

Trait Plugin 

Source
pub trait Plugin {
Show 17 methods // Required method fn addon(name: &str) -> Result<Box<dyn Addon>, String>; // Provided methods fn module(name: &str) -> Result<Box<dyn Module>, String> { ... } fn action(name: &str) -> Result<Box<dyn Action>, String> { ... } fn api_run(name: &str, request: Request) -> Result<JsonValue, String> { ... } fn load_tools(config: ToolsConfig) -> Result<(), String> { ... } fn get_tools() -> Tools { ... } fn load_config(name: &str, config: JsonValue) { ... } fn init_db() -> Result<(), String> { ... } fn handles() { ... } fn swagger( title: &str, description: &str, version: &str, uaturl: &str, produrl: &str, tags: JsonValue, paths: JsonValue, ) -> JsonValue { ... } fn generate_api_list( apipath: PathBuf, path: PathBuf, index: usize, ) -> Result<Vec<String>, String> { ... } fn _load_apis(apis: Vec<String>) -> Result<(), String> { ... } fn set_global_data(key: &str, value: JsonValue) { ... } fn get_global_data() -> JsonValue { ... } fn get_global_data_key(key: &str) -> JsonValue { ... } fn split2(name: &str) -> Result<(&str, &str), String> { ... } fn split3(name: &str) -> Result<(&str, &str, &str), String> { ... }
}
Expand description

插件接口

Required Methods§

Source

fn addon(name: &str) -> Result<Box<dyn Addon>, String>

加载插件

Provided Methods§

Source

fn module(name: &str) -> Result<Box<dyn Module>, String>

加载模型

Source

fn action(name: &str) -> Result<Box<dyn Action>, String>

加载动作

Source

fn api_run(name: &str, request: Request) -> Result<JsonValue, String>

内部api

Source

fn load_tools(config: ToolsConfig) -> Result<(), String>

加载工具装置

  • path 配置文件路径
Source

fn get_tools() -> Tools

获取工具

Source

fn load_config(name: &str, config: JsonValue)

加载全局配置文件

Source

fn init_db() -> Result<(), String>

根据API清单初始化数据库

  • path 插件目录
Source

fn handles()

全局插件监听入口

Source

fn swagger( title: &str, description: &str, version: &str, uaturl: &str, produrl: &str, tags: JsonValue, paths: JsonValue, ) -> JsonValue

生成Swagger

Source

fn generate_api_list( apipath: PathBuf, path: PathBuf, index: usize, ) -> Result<Vec<String>, String>

生成 api 列表

Source

fn _load_apis(apis: Vec<String>) -> Result<(), String>

加载api清单

Source

fn set_global_data(key: &str, value: JsonValue)

设置全局变量

Source

fn get_global_data() -> JsonValue

获取全局变量数据

Source

fn get_global_data_key(key: &str) -> JsonValue

获取全局变量指定字段数据

Source

fn split2(name: &str) -> Result<(&str, &str), String>

解析 “addon.module”(零分配)

Source

fn split3(name: &str) -> Result<(&str, &str, &str), String>

解析 “addon.module.action”(零分配)

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§