Crate vanguard_plugin

Crate vanguard_plugin 

Source
Expand description

Vanguard Plugin System

This crate provides the core plugin interface and validation system for Vanguard. It is completely decoupled from the CLI and provides a standardized way to create and validate plugins.

Re-exports§

pub use exports::CreatePluginFn;
pub use exports::CREATE_PLUGIN_SYMBOL;

Modules§

exports
Module containing plugin export helpers and macros for implementing plugins

Macros§

export_plugin
Helper macro to export the plugin creation function with the correct ABI
export_plugin_with
Helper macro to export the plugin creation function with a custom constructor

Structs§

ConfigManager
Manages plugin configuration storage and validation
LoaderConfig
Configuration for the plugin loader
Platform
Represents a platform that a plugin supports
PluginDependency
A dependency on another plugin
PluginInfo
Plugin information used for storing in the registry
PluginLibrary
A loaded dynamic library containing a plugin
PluginLoader
A plugin loader that manages plugin discovery, loading, and lifecycle
PluginMetadata
Metadata for a Vanguard plugin
PluginRegistry
Registry for managing multiple versions of plugins
PluginValidator
Plugin validator for security and compatibility checks

Enums§

ConfigError
Errors that can occur during plugin configuration operations
DylibError
Errors that can occur during dynamic library operations
LoaderError
Errors that can occur during plugin loading
PluginError
Errors that can occur during plugin operations
PluginState
Represents the current state of a plugin version
RegistryError
Errors that can occur during plugin registry operations
ValidationError
Errors that can occur during plugin validation
ValidationResult
Result of plugin validation

Traits§

VanguardPlugin
Trait that must be implemented by all Vanguard plugins

Functions§

get_dylib_name
Helper to get the dynamic library name for the current platform
get_dylib_path
Helper to get the dynamic library path for a plugin

Type Aliases§

ConfigResult
Result type for configuration operations