Trait PluginHandler

Source
pub trait PluginHandler: Send + Sync {
    // Required methods
    fn update_ui(&mut self, ctx: &Context, ui: &mut Ui);
    fn on_mount(
        &mut self,
        metadata: &PluginMetadata,
    ) -> Result<(), Box<dyn Error>>;
    fn on_dispose(&mut self) -> Result<(), Box<dyn Error>>;
    fn on_connect(&mut self) -> Result<(), Box<dyn Error>>;
    fn on_disconnect(&mut self) -> Result<(), Box<dyn Error>>;
    fn handle_message(&self, message: &str) -> Result<String, Box<dyn Error>>;
    fn get_metadata(&self) -> PluginMetadata;

    // Provided method
    fn initialize(&self, callbacks: HostCallbacks) -> Result<(), Box<dyn Error>> { ... }
}
Expand description

插件处理器 trait 定义了插件的生命周期方法

Required Methods§

Source

fn update_ui(&mut self, ctx: &Context, ui: &mut Ui)

更新UI(事件驱动) 当前端用户交互或需要更新UI时调用

Source

fn on_mount(&mut self, metadata: &PluginMetadata) -> Result<(), Box<dyn Error>>

插件挂载时调用

Source

fn on_dispose(&mut self) -> Result<(), Box<dyn Error>>

插件卸载时调用

Source

fn on_connect(&mut self) -> Result<(), Box<dyn Error>>

连接时调用

Source

fn on_disconnect(&mut self) -> Result<(), Box<dyn Error>>

断开连接时调用

Source

fn handle_message(&self, message: &str) -> Result<String, Box<dyn Error>>

处理消息

Source

fn get_metadata(&self) -> PluginMetadata

获取插件元数据

Provided Methods§

Source

fn initialize(&self, callbacks: HostCallbacks) -> Result<(), Box<dyn Error>>

插件初始化时调用(在挂载之前,用于设置回调函数)

Implementors§