Trait UrlSchemePlugin

Source
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§

Source

fn new() -> JoinHandle<Result<Box<dyn UrlSchemePlugin>>>
where Self: Sized,

Thisfunction is called when the plugin is loaded.

Source

fn target(&self) -> Vec<String>

This function is called when the plugin is loaded to determine which URL schemes it supports.

Source

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.

Implementors§