pub struct PluginRegistry { /* private fields */ }Expand description
Explicit plugin registry.
Implementations§
Source§impl PluginRegistry
impl PluginRegistry
Sourcepub fn register_plugin<P: QrPlugin + ?Sized>(&mut self, plugin: &P)
pub fn register_plugin<P: QrPlugin + ?Sized>(&mut self, plugin: &P)
Registers all extension points provided by plugin.
Sourcepub fn register_renderer(
&mut self,
name: impl Into<String>,
factory: Box<dyn RendererFactory>,
) -> Option<Box<dyn RendererFactory>>
pub fn register_renderer( &mut self, name: impl Into<String>, factory: Box<dyn RendererFactory>, ) -> Option<Box<dyn RendererFactory>>
Registers or replaces a renderer factory by name.
Sourcepub fn register_encoder(
&mut self,
name: impl Into<String>,
factory: Box<dyn EncoderFactory>,
) -> Option<Box<dyn EncoderFactory>>
pub fn register_encoder( &mut self, name: impl Into<String>, factory: Box<dyn EncoderFactory>, ) -> Option<Box<dyn EncoderFactory>>
Registers or replaces an encoder factory by name.
Sourcepub fn register_postprocessor(&mut self, postprocessor: Box<dyn PostProcessor>)
pub fn register_postprocessor(&mut self, postprocessor: Box<dyn PostProcessor>)
Appends a postprocessor to the registry.
Sourcepub fn renderer(&self, name: &str) -> Option<&dyn RendererFactory>
pub fn renderer(&self, name: &str) -> Option<&dyn RendererFactory>
Returns a renderer factory by name.
Sourcepub fn build_renderer(
&self,
name: &str,
config: &RenderConfig,
) -> Result<Box<dyn DynRenderer>, PluginError>
pub fn build_renderer( &self, name: &str, config: &RenderConfig, ) -> Result<Box<dyn DynRenderer>, PluginError>
Builds a renderer by name.
§Errors
Returns PluginError::RendererNotFound when no renderer factory is
registered with name.
Sourcepub fn encoder(&self, name: &str) -> Option<&dyn EncoderFactory>
pub fn encoder(&self, name: &str) -> Option<&dyn EncoderFactory>
Returns an encoder factory by name.
Sourcepub fn build_encoder(
&self,
name: &str,
config: &EncodeConfig,
) -> Result<Box<dyn DynEncoder>, PluginError>
pub fn build_encoder( &self, name: &str, config: &EncodeConfig, ) -> Result<Box<dyn DynEncoder>, PluginError>
Builds an encoder by name.
§Errors
Returns PluginError::EncoderNotFound when no encoder factory is
registered with name.
Sourcepub fn postprocessors(&self) -> &[Box<dyn PostProcessor>]
pub fn postprocessors(&self) -> &[Box<dyn PostProcessor>]
Returns all postprocessors in registration order.
Sourcepub fn process_modules(
&self,
modules: &mut dyn ModuleStorage,
) -> Result<(), PluginError>
pub fn process_modules( &self, modules: &mut dyn ModuleStorage, ) -> Result<(), PluginError>
Applies all registered postprocessors in registration order.
§Errors
Returns the first PluginError reported by a postprocessor.
Sourcepub fn renderer_names(&self) -> impl Iterator<Item = &str>
pub fn renderer_names(&self) -> impl Iterator<Item = &str>
Iterates renderer names in deterministic order.
Sourcepub fn encoder_names(&self) -> impl Iterator<Item = &str>
pub fn encoder_names(&self) -> impl Iterator<Item = &str>
Iterates encoder names in deterministic order.