pub struct PermissionEngine { /* private fields */ }Expand description
Pure permission policy shared by interactive, noninteractive, and ACP hosts.
Implementations§
Source§impl PermissionEngine
impl PermissionEngine
pub fn new(mode: PermissionMode, configured_rules: Vec<PermissionRule>) -> Self
pub fn mode(&self) -> PermissionMode
Sourcepub fn set_mode(&mut self, mode: PermissionMode)
pub fn set_mode(&mut self, mode: PermissionMode)
Changes the session baseline without discarding configured rules or approvals already granted for this session.
pub fn rules(&self) -> &[PermissionRule]
pub fn grants(&self) -> &[(String, String)]
pub fn grant_for_session(&mut self, permission: &str, target: &str)
pub fn grant_request_for_session(&mut self, request: &PermissionRequest)
Sourcepub fn decide(&self, request: &PermissionRequest) -> PermissionDecision
pub fn decide(&self, request: &PermissionRequest) -> PermissionDecision
Resolves a request using the original precedence: yolo, configured denies, exact session grants, configured allow/ask, then mode baseline.
Trait Implementations§
Source§impl Clone for PermissionEngine
impl Clone for PermissionEngine
Source§fn clone(&self) -> PermissionEngine
fn clone(&self) -> PermissionEngine
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 PermissionEngine
impl Debug for PermissionEngine
Source§impl Default for PermissionEngine
impl Default for PermissionEngine
Source§fn default() -> PermissionEngine
fn default() -> PermissionEngine
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for PermissionEngine
impl RefUnwindSafe for PermissionEngine
impl Send for PermissionEngine
impl Sync for PermissionEngine
impl Unpin for PermissionEngine
impl UnsafeUnpin for PermissionEngine
impl UnwindSafe for PermissionEngine
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