pub enum PrivilegeMode {
Auto,
Sudo,
Doas,
}Expand description
What: User-configured privilege tool selection mode parsed from settings.conf.
Inputs: None (enum variant selection).
Output: Controls how Pacsea selects the privilege escalation tool.
Details:
Auto(default): prefer doas if available on$PATH, fall back to sudo.Sudo: always use sudo; fail with actionable error if unavailable.Doas: always use doas; fail with actionable error if unavailable.
Variants§
Auto
Auto-detect: prefer doas if available, fall back to sudo.
Sudo
Always use sudo.
Doas
Always use doas.
Implementations§
Source§impl PrivilegeMode
impl PrivilegeMode
Sourcepub fn from_config_key(val: &str) -> Option<Self>
pub fn from_config_key(val: &str) -> Option<Self>
What: Parse a config file value into a PrivilegeMode.
Inputs:
val: Raw config string (e.g."auto","sudo","doas").
Output: Some(mode) on recognized value, None otherwise.
Details: Case-insensitive matching after trim.
Sourcepub const fn as_config_key(self) -> &'static str
pub const fn as_config_key(self) -> &'static str
What: Return the canonical config key string for this mode.
Inputs: None.
Output: "auto", "sudo", or "doas".
Details: Inverse of from_config_key.
Trait Implementations§
Source§impl Clone for PrivilegeMode
impl Clone for PrivilegeMode
Source§fn clone(&self) -> PrivilegeMode
fn clone(&self) -> PrivilegeMode
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 PrivilegeMode
impl Debug for PrivilegeMode
Source§impl Default for PrivilegeMode
impl Default for PrivilegeMode
Source§fn default() -> PrivilegeMode
fn default() -> PrivilegeMode
Returns the “default value” for a type. Read more
Source§impl Display for PrivilegeMode
impl Display for PrivilegeMode
Source§impl PartialEq for PrivilegeMode
impl PartialEq for PrivilegeMode
impl Copy for PrivilegeMode
impl Eq for PrivilegeMode
impl StructuralPartialEq for PrivilegeMode
Auto Trait Implementations§
impl Freeze for PrivilegeMode
impl RefUnwindSafe for PrivilegeMode
impl Send for PrivilegeMode
impl Sync for PrivilegeMode
impl Unpin for PrivilegeMode
impl UnsafeUnpin for PrivilegeMode
impl UnwindSafe for PrivilegeMode
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,
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§impl<T> ToCompactString for Twhere
T: Display,
impl<T> ToCompactString for Twhere
T: Display,
§fn try_to_compact_string(&self) -> Result<CompactString, ToCompactStringError>
fn try_to_compact_string(&self) -> Result<CompactString, ToCompactStringError>
Fallible version of [
ToCompactString::to_compact_string()] Read more§fn to_compact_string(&self) -> CompactString
fn to_compact_string(&self) -> CompactString
Converts the given value to a [
CompactString]. Read more§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.