pub struct PluginManifest {
pub manifest_version: String,
pub plugin: PluginInfo,
pub capabilities: PluginCapabilities,
pub dependencies: Vec<PluginDependency>,
pub config_schema: Option<ConfigSchema>,
pub metadata: HashMap<String, Value>,
}
Expand description
Plugin manifest structure
The manifest contains all metadata about a plugin, including its capabilities, dependencies, and configuration requirements.
Fields§
§manifest_version: String
Plugin manifest format version
plugin: PluginInfo
Plugin basic information
capabilities: PluginCapabilities
Plugin capabilities and permissions
dependencies: Vec<PluginDependency>
Plugin dependencies
config_schema: Option<ConfigSchema>
Plugin configuration schema
metadata: HashMap<String, Value>
Plugin metadata
Implementations§
Source§impl PluginManifest
impl PluginManifest
Sourcepub fn from_file<P>(path: P) -> Result<PluginManifest, PluginError>
pub fn from_file<P>(path: P) -> Result<PluginManifest, PluginError>
Load manifest from file
Sourcepub fn parse_from_str(content: &str) -> Result<PluginManifest, PluginError>
pub fn parse_from_str(content: &str) -> Result<PluginManifest, PluginError>
Parse manifest from string
Source§impl PluginManifest
impl PluginManifest
Sourcepub fn new(plugin: PluginInfo) -> PluginManifest
pub fn new(plugin: PluginInfo) -> PluginManifest
Create a new plugin manifest
Sourcepub fn validate(&self) -> Result<(), PluginError>
pub fn validate(&self) -> Result<(), PluginError>
Validate manifest
Sourcepub fn version(&self) -> &PluginVersion
pub fn version(&self) -> &PluginVersion
Get plugin version
Sourcepub fn supports_type(&self, plugin_type: &str) -> bool
pub fn supports_type(&self, plugin_type: &str) -> bool
Check if plugin supports a specific type
Sourcepub fn display_name(&self) -> &str
pub fn display_name(&self) -> &str
Get plugin display name
Sourcepub fn description(&self) -> Option<&str>
pub fn description(&self) -> Option<&str>
Get plugin description
Get plugin author
Sourcepub fn has_capability(&self, capability: &str) -> bool
pub fn has_capability(&self, capability: &str) -> bool
Check if plugin has a specific capability
Sourcepub fn dependencies(&self) -> &[PluginDependency]
pub fn dependencies(&self) -> &[PluginDependency]
Get plugin dependencies
Sourcepub fn requires_config(&self) -> bool
pub fn requires_config(&self) -> bool
Check if plugin requires configuration
Trait Implementations§
Source§impl Clone for PluginManifest
impl Clone for PluginManifest
Source§fn clone(&self) -> PluginManifest
fn clone(&self) -> PluginManifest
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for PluginManifest
impl Debug for PluginManifest
Source§impl<'de> Deserialize<'de> for PluginManifest
impl<'de> Deserialize<'de> for PluginManifest
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<PluginManifest, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<PluginManifest, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Serialize for PluginManifest
impl Serialize for PluginManifest
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
Auto Trait Implementations§
impl Freeze for PluginManifest
impl RefUnwindSafe for PluginManifest
impl Send for PluginManifest
impl Sync for PluginManifest
impl Unpin for PluginManifest
impl UnwindSafe for PluginManifest
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> GetSetFdFlags for T
impl<T> GetSetFdFlags for T
Source§fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
Query the “status” flags for the
self
file descriptor.Source§fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
Source§fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>where
T: AsFilelike,
fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>where
T: AsFilelike,
Set the “status” flags for the
self
file descriptor. Read moreSource§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more