Struct users::cache::UsersCache [] [src]

pub struct UsersCache {
    // some fields omitted
}

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

Methods

impl UsersCache
[src]

fn new() -> UsersCache

Creates a new empty cache.

unsafe fn with_all_users() -> UsersCache

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

This is unsafe because we cannot prevent data races if two caches were attempted to be initialised on different threads at the same time.

Trait Implementations

impl Default for UsersCache
[src]

fn default() -> UsersCache

Returns the "default value" for a type. Read more

impl Users for UsersCache
[src]

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.

fn get_user_by_name(&self, username: &str) -> Option<Arc<User>>

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

fn get_current_uid(&self) -> uid_t

Returns the user ID for the user running the process.

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

Returns the username of the user running the process.

fn get_effective_uid(&self) -> uid_t

Returns the effective user id.

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

Returns the effective username.

impl Groups for UsersCache
[src]

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

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

fn get_group_by_name(&self, group_name: &str) -> Option<Arc<Group>>

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

fn get_current_gid(&self) -> gid_t

Returns the group ID for the user running the process.

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

Returns the group name of the user running the process.

fn get_effective_gid(&self) -> gid_t

Returns the effective group id.

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

Returns the effective group name.