Permissions

Struct Permissions 

Source
pub struct Permissions {
    pub owner_read: bool,
    pub owner_write: bool,
    pub owner_exec: bool,
    pub group_read: bool,
    pub group_write: bool,
    pub group_exec: bool,
    pub other_read: bool,
    pub other_write: bool,
    pub other_exec: bool,
}
Expand description

Unix-style file permissions.

§Examples

use heroforge_core::fs::Permissions;

// Create from octal
let perms = Permissions::from_octal(0o755);
assert_eq!(perms.to_string_repr(), "rwxr-xr-x");

// Use preset
let exec = Permissions::executable();
assert_eq!(exec.to_octal(), 0o755);

Fields§

§owner_read: bool

Read permission for owner

§owner_write: bool

Write permission for owner

§owner_exec: bool

Execute permission for owner

§group_read: bool

Read permission for group

§group_write: bool

Write permission for group

§group_exec: bool

Execute permission for group

§other_read: bool

Read permission for others

§other_write: bool

Write permission for others

§other_exec: bool

Execute permission for others

Implementations§

Source§

impl Permissions

Source

pub fn from_octal(mode: u32) -> Self

Create permissions from octal (e.g., 0o755).

Source

pub fn to_octal(&self) -> u32

Convert to octal representation.

Source

pub fn to_string_repr(&self) -> String

Convert to string representation (e.g., “rwxr-xr-x”).

Source

pub fn file() -> Self

Create permissions for a regular file (644 = rw-r–r–).

Source

pub fn executable() -> Self

Create permissions for an executable file (755 = rwxr-xr-x).

Source

pub fn readonly() -> Self

Create permissions for a read-only file (444 = r–r–r–).

Trait Implementations§

Source§

impl Clone for Permissions

Source§

fn clone(&self) -> Permissions

Returns a duplicate of the value. Read more
1.0.0§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Permissions

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for Permissions

Source§

fn eq(&self, other: &Permissions) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for Permissions

Source§

impl Eq for Permissions

Source§

impl StructuralPartialEq for Permissions

Auto Trait Implementations§

Blanket Implementations§

§

impl<T> Any for T
where T: 'static + ?Sized,

§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Borrow<T> for T
where T: ?Sized,

§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
§

impl<T> BorrowMut<T> for T
where T: ?Sized,

§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> CloneToUninit for T
where T: Clone,

§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
§

impl<T> From<T> for T

§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T, U> Into<U> for T
where U: From<T>,

§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.