pub struct Capabilities { /* private fields */ }Expand description
A set of capabilities granted to a script.
Implementations§
Source§impl Capabilities
impl Capabilities
Sourcepub fn safe_defaults() -> Self
pub fn safe_defaults() -> Self
Create a safe default capability set.
Includes: TimeRead, Random, StdoutWrite, StderrWrite, Logging, Serialize
Sourcepub fn with(self, cap: Capability) -> Self
pub fn with(self, cap: Capability) -> Self
Add a capability.
Sourcepub fn with_all<I: IntoIterator<Item = Capability>>(self, caps: I) -> Self
pub fn with_all<I: IntoIterator<Item = Capability>>(self, caps: I) -> Self
Add multiple capabilities.
Sourcepub fn without(self, cap: Capability) -> Self
pub fn without(self, cap: Capability) -> Self
Remove a capability.
Sourcepub fn grant(&mut self, cap: Capability)
pub fn grant(&mut self, cap: Capability)
Grant a capability (mutating version).
Sourcepub fn revoke(&mut self, cap: Capability)
pub fn revoke(&mut self, cap: Capability)
Revoke a capability (mutating version).
Sourcepub fn has(&self, cap: Capability) -> bool
pub fn has(&self, cap: Capability) -> bool
Check if a capability is granted.
Sourcepub fn require(&self, cap: Capability) -> Result<()>
pub fn require(&self, cap: Capability) -> Result<()>
Check if a capability is granted, returning an error if not.
Sourcepub fn granted(&self) -> impl Iterator<Item = &Capability>
pub fn granted(&self) -> impl Iterator<Item = &Capability>
Get all granted capabilities.
Sourcepub fn has_dangerous(&self) -> bool
pub fn has_dangerous(&self) -> bool
Check if any dangerous capability is granted.
Sourcepub fn from_names<'a, I: IntoIterator<Item = &'a str>>(names: I) -> Self
pub fn from_names<'a, I: IntoIterator<Item = &'a str>>(names: I) -> Self
Parse capabilities from string names.
Sourcepub fn merge(&self, other: &Capabilities) -> Capabilities
pub fn merge(&self, other: &Capabilities) -> Capabilities
Merge with another capability set.
Sourcepub fn intersect(&self, other: &Capabilities) -> Capabilities
pub fn intersect(&self, other: &Capabilities) -> Capabilities
Intersect with another capability set.
Trait Implementations§
Source§impl Clone for Capabilities
impl Clone for Capabilities
Source§fn clone(&self) -> Capabilities
fn clone(&self) -> Capabilities
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 Capabilities
impl Debug for Capabilities
Source§impl Default for Capabilities
impl Default for Capabilities
Source§fn default() -> Capabilities
fn default() -> Capabilities
Returns the “default value” for a type. Read more
Source§impl FromIterator<Capability> for Capabilities
impl FromIterator<Capability> for Capabilities
Source§fn from_iter<I: IntoIterator<Item = Capability>>(iter: I) -> Self
fn from_iter<I: IntoIterator<Item = Capability>>(iter: I) -> Self
Creates a value from an iterator. Read more
Auto Trait Implementations§
impl Freeze for Capabilities
impl RefUnwindSafe for Capabilities
impl Send for Capabilities
impl Sync for Capabilities
impl Unpin for Capabilities
impl UnwindSafe for Capabilities
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