pub trait UrlSchemePlugin: Send + Sync {
// Required methods
fn new() -> JoinHandle<Result<Box<dyn UrlSchemePlugin>>> ⓘ
where Self: Sized;
fn target(&self) -> Vec<String>;
fn load(
&self,
url: Url,
inputs: Inputs,
outputs: Outputs,
queries: Queries,
queryables: Queryables,
configuration: Value,
file_ext: Arc<FileExtManager>,
) -> JoinHandle<Result<RuntimeNode>> ⓘ;
}Expand description
This trait must be implemented in order to make a plugin compatible with the iridis_url_scheme crate.
Required Methods§
Sourcefn new() -> JoinHandle<Result<Box<dyn UrlSchemePlugin>>> ⓘwhere
Self: Sized,
fn new() -> JoinHandle<Result<Box<dyn UrlSchemePlugin>>> ⓘwhere
Self: Sized,
Thisfunction 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 URL schemes it supports.
Sourcefn load(
&self,
url: Url,
inputs: Inputs,
outputs: Outputs,
queries: Queries,
queryables: Queryables,
configuration: Value,
file_ext: Arc<FileExtManager>,
) -> JoinHandle<Result<RuntimeNode>> ⓘ
fn load( &self, url: Url, inputs: Inputs, outputs: Outputs, queries: Queries, queryables: Queryables, configuration: Value, file_ext: Arc<FileExtManager>, ) -> JoinHandle<Result<RuntimeNode>> ⓘ
This function is called to load a Node from the plugin.