pub trait FileExtPlugin: Send + Sync {
// Required methods
fn new() -> JoinHandle<Result<Box<dyn FileExtPlugin>>> ⓘ
where Self: Sized;
fn target(&self) -> Vec<String>;
fn load(
&self,
path: PathBuf,
inputs: Inputs,
outputs: Outputs,
queries: Queries,
queryables: Queryables,
configuration: Value,
) -> JoinHandle<Result<RuntimeNode>> ⓘ;
}Expand description
This trait must be implemented in order to make a plugin compatible with the iridis_file_ext crate.
Required Methods§
Sourcefn new() -> JoinHandle<Result<Box<dyn FileExtPlugin>>> ⓘwhere
Self: Sized,
fn new() -> JoinHandle<Result<Box<dyn FileExtPlugin>>> ⓘwhere
Self: Sized,
This function is called when the plugin is loaded.
Sourcefn target(&self) -> Vec<String>
fn target(&self) -> Vec<String>
This function is called when the plugin is loaded to determine which file extensions it supports.
Sourcefn load(
&self,
path: PathBuf,
inputs: Inputs,
outputs: Outputs,
queries: Queries,
queryables: Queryables,
configuration: Value,
) -> JoinHandle<Result<RuntimeNode>> ⓘ
fn load( &self, path: PathBuf, inputs: Inputs, outputs: Outputs, queries: Queries, queryables: Queryables, configuration: Value, ) -> JoinHandle<Result<RuntimeNode>> ⓘ
This function is called to load a Node from the plugin.