pub trait ModuleCapability {
// Required methods
fn capabilities(&self) -> Vec<Capability>;
fn required_capabilities(&self, operation: &str) -> Vec<Capability>;
// Provided methods
fn has_capability(&self, cap: Capability) -> bool { ... }
fn can_perform(&self, operation: &str) -> bool { ... }
}Expand description
Trait for capability discovery
Required Methods§
Sourcefn capabilities(&self) -> Vec<Capability>
fn capabilities(&self) -> Vec<Capability>
Get list of supported capabilities
Sourcefn required_capabilities(&self, operation: &str) -> Vec<Capability>
fn required_capabilities(&self, operation: &str) -> Vec<Capability>
Get capability requirements for a specific operation
Provided Methods§
Sourcefn has_capability(&self, cap: Capability) -> bool
fn has_capability(&self, cap: Capability) -> bool
Check if a specific capability is supported
Sourcefn can_perform(&self, operation: &str) -> bool
fn can_perform(&self, operation: &str) -> bool
Check if all required capabilities for an operation are available