br_addon

Trait Plugin

Source
pub trait Plugin {
    // 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, request: Request) -> Result<JsonValue, String> { ... }
    fn api(name: &str) -> Result<Box<dyn Action>, String> { ... }
    fn load_tools(config: ToolsConfig) -> Result<(), String> { ... }
    fn get_tools() -> Tools { ... }
    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>> { ... }
}
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, request: Request) -> Result<JsonValue, String>

加载动作

Source

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

加载api

Source

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

加载工具装置

  • path 配置文件路径
Source

fn get_tools() -> Tools

获取工具

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>>

生成 api 列表

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§