pub trait Info: Send + Sync {
// Required methods
fn depends(&self) -> &Vec<Depend>;
fn optional_depends(&self) -> &Vec<Depend>;
}
Expand description
Trait for plugin information and dependencies.
The Info trait defines the interface for accessing a plugin’s dependency information. Implementations of this trait provide details about what other plugins this plugin depends on for its operation.
§Required Methods
depends
- Returns the list of required dependenciesoptional_depends
- Returns the list of optional dependencies
§Example
use plux_rs::{Info, Depend};
struct MyInfo {
required: Vec<Depend>,
optional: Vec<Depend>,
}
impl Info for MyInfo {
fn depends(&self) -> &Vec<Depend> {
&self.required
}
fn optional_depends(&self) -> &Vec<Depend> {
&self.optional
}
}
Required Methods§
Sourcefn depends(&self) -> &Vec<Depend>
fn depends(&self) -> &Vec<Depend>
Returns the list of required dependencies for this plugin.
Required dependencies must be available and loaded for the plugin to function.
§Returns
Returns a reference to a vector of required dependencies.
Sourcefn optional_depends(&self) -> &Vec<Depend>
fn optional_depends(&self) -> &Vec<Depend>
Returns the list of optional dependencies for this plugin.
Optional dependencies enhance functionality but are not required for basic operation.
§Returns
Returns a reference to a vector of optional dependencies.