PluginRegistry

Struct PluginRegistry 

Source
pub struct PluginRegistry { /* private fields */ }
Expand description

Registry for managing multiple versions of plugins

The registry keeps track of all installed plugin versions and their states, as well as which version is currently active for each plugin.

Implementations§

Source§

impl PluginRegistry

Source

pub fn new() -> Self

Create a new empty plugin registry

Source

pub async fn register_plugin( &self, plugin: Arc<dyn VanguardPlugin>, ) -> Result<(), RegistryError>

Register a new plugin version

Source

pub async fn get_active_version( &self, name: &str, ) -> Result<Arc<dyn VanguardPlugin>, RegistryError>

Get the currently active version of a plugin

Source

pub async fn get_plugin(&self, name: &str) -> Option<Arc<dyn VanguardPlugin>>

Get any version of a plugin (usually the latest)

Source

pub async fn activate_version( &self, name: &str, version_str: &str, ) -> Result<(), RegistryError>

Activate a specific version of a plugin

Source

pub async fn get_plugin_state( &self, name: &str, version_str: &str, ) -> Result<PluginState, RegistryError>

Get the state of a specific plugin version

Source

pub async fn set_plugin_state( &self, name: &str, version_str: &str, state: PluginState, ) -> Result<(), RegistryError>

Set the state of a specific plugin version

Source

pub async fn remove_plugin( &self, name: &str, version_str: &str, ) -> Result<(), RegistryError>

Remove a specific version of a plugin

Source

pub async fn save_plugin_info( &self, plugin_info: &PluginInfo, ) -> Result<(), RegistryError>

Save plugin information to the registry directory

Trait Implementations§

Source§

impl Debug for PluginRegistry

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for PluginRegistry

Source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.