Struct UsersCache

Source
pub struct UsersCache { /* private fields */ }
Expand description

A producer of user and group instances that caches every result.

For more information, see the users::cache module documentation.

Implementations§

Source§

impl UsersCache

Source

pub fn new() -> Self

Creates a new empty cache.

§Examples
use users::cache::UsersCache;

let cache = UsersCache::new();
Source

pub unsafe fn with_all_users() -> Self

Creates a new cache that contains all the users present on the system.

§Safety

This is unsafe because we cannot prevent data races if two caches were attempted to be initialised on different threads at the same time. For more information, see the all_users documentation.

§Examples
use users::cache::UsersCache;

let cache = unsafe { UsersCache::with_all_users() };

Trait Implementations§

Source§

impl Default for UsersCache

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl Groups for UsersCache

Source§

fn get_group_by_gid(&self, gid: gid_t) -> Option<Arc<Group>>

Returns a Group if one exists for the given group ID; otherwise, returns None.
Source§

fn get_group_by_name<S: AsRef<OsStr> + ?Sized>( &self, group_name: &S, ) -> Option<Arc<Group>>

Returns a Group if one exists for the given groupname; otherwise, returns None.
Source§

fn get_current_gid(&self) -> gid_t

Returns the group ID for the user running the process.
Source§

fn get_current_groupname(&self) -> Option<Arc<OsStr>>

Returns the group name of the user running the process.
Source§

fn get_effective_gid(&self) -> gid_t

Returns the effective group id.
Source§

fn get_effective_groupname(&self) -> Option<Arc<OsStr>>

Returns the effective group name.
Source§

impl Users for UsersCache

Source§

fn get_user_by_uid(&self, uid: uid_t) -> Option<Arc<User>>

Returns a User if one exists for the given user ID; otherwise, returns None.
Source§

fn get_user_by_name<S: AsRef<OsStr> + ?Sized>( &self, username: &S, ) -> Option<Arc<User>>

Returns a User if one exists for the given username; otherwise, returns None.
Source§

fn get_current_uid(&self) -> uid_t

Returns the user ID for the user running the process.
Source§

fn get_current_username(&self) -> Option<Arc<OsStr>>

Returns the username of the user running the process.
Source§

fn get_effective_uid(&self) -> uid_t

Returns the effective user id.
Source§

fn get_effective_username(&self) -> Option<Arc<OsStr>>

Returns the effective username.

Auto Trait Implementations§

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

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

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

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

Source§

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, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

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

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

Performs the conversion.
Source§

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

Source§

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

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

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

Performs the conversion.