pub struct CapabilityManifest { /* private fields */ }Expand description
Capability manifest for a rule file
Implementations§
Source§impl CapabilityManifest
impl CapabilityManifest
Sourcepub fn unrestricted() -> Self
pub fn unrestricted() -> Self
Create a manifest with all capabilities
Sourcepub fn require(&mut self, cap: Capability)
pub fn require(&mut self, cap: Capability)
Require a capability
Sourcepub fn request(&mut self, cap: Capability)
pub fn request(&mut self, cap: Capability)
Request an optional capability
Sourcepub fn deny(&mut self, cap: Capability)
pub fn deny(&mut self, cap: Capability)
Deny a capability
Sourcepub fn requires(&self, cap: Capability) -> bool
pub fn requires(&self, cap: Capability) -> bool
Check if capability is required
Sourcepub fn allows(&self, cap: Capability) -> bool
pub fn allows(&self, cap: Capability) -> bool
Check if capability is allowed
Sourcepub fn denies(&self, cap: Capability) -> bool
pub fn denies(&self, cap: Capability) -> bool
Check if capability is denied
Sourcepub fn required_capabilities(&self) -> &HashSet<Capability>
pub fn required_capabilities(&self) -> &HashSet<Capability>
Get all required capabilities
Sourcepub fn optional_capabilities(&self) -> &HashSet<Capability>
pub fn optional_capabilities(&self) -> &HashSet<Capability>
Get all optional capabilities
Sourcepub fn restrictions_for(
&self,
cap: Capability,
) -> impl Iterator<Item = &CapabilityRestriction>
pub fn restrictions_for( &self, cap: Capability, ) -> impl Iterator<Item = &CapabilityRestriction>
Get restrictions for a capability
Sourcepub fn is_path_allowed(&self, path: &str, cap: Capability) -> bool
pub fn is_path_allowed(&self, path: &str, cap: Capability) -> bool
Check if a path is allowed for file operations
Trait Implementations§
Source§impl Clone for CapabilityManifest
impl Clone for CapabilityManifest
Source§fn clone(&self) -> CapabilityManifest
fn clone(&self) -> CapabilityManifest
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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 CapabilityManifest
impl Debug for CapabilityManifest
Source§impl Default for CapabilityManifest
impl Default for CapabilityManifest
Source§fn default() -> CapabilityManifest
fn default() -> CapabilityManifest
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for CapabilityManifest
impl RefUnwindSafe for CapabilityManifest
impl Send for CapabilityManifest
impl Sync for CapabilityManifest
impl Unpin for CapabilityManifest
impl UnsafeUnpin for CapabilityManifest
impl UnwindSafe for CapabilityManifest
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§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 moreSource§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out indicating that a T is niched.