pub trait PluginHost: Send + Sync {
// Required methods
fn emit_event(&self, name: &str, payload: Value) -> Result<()>;
fn show_toast(&self, toast_type: &str, message: &str) -> Result<()>;
fn plugin_data_dir(&self, plugin_id: &str) -> PathBuf;
fn plugin_frontend_dir(&self, plugin_id: &str) -> PathBuf;
fn get_settings(&self, plugin_id: &str) -> Value;
fn save_settings(&self, plugin_id: &str, settings: Value) -> Result<()>;
fn proxy_config(&self) -> Option<ProxyConfig>;
fn tool_path(&self, tool: &str) -> Option<PathBuf>;
fn default_output_dir(&self) -> PathBuf;
}Required Methods§
fn emit_event(&self, name: &str, payload: Value) -> Result<()>
fn show_toast(&self, toast_type: &str, message: &str) -> Result<()>
fn plugin_data_dir(&self, plugin_id: &str) -> PathBuf
fn plugin_frontend_dir(&self, plugin_id: &str) -> PathBuf
fn get_settings(&self, plugin_id: &str) -> Value
fn save_settings(&self, plugin_id: &str, settings: Value) -> Result<()>
fn proxy_config(&self) -> Option<ProxyConfig>
fn tool_path(&self, tool: &str) -> Option<PathBuf>
fn default_output_dir(&self) -> PathBuf
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".