Skip to main content

UserPrivilege

Enum UserPrivilege 

Source
pub enum UserPrivilege {
Show 29 variants Abort, ConfigAdapter, ConfigApp, ConfigDatabase, ConfigEngine, ConfigModel, ConfigReport, Configure, CtrlExecFlow, Debug, Develop, EditProcessModelFiles, EditRuntimeVariables, EditSequenceFiles, EditStationGlobals, EditTemplates, EditTypes, EditUsers, EditWorkspace, Execute, GrantAll, LoopSelectedTests, Operate, RunAnySequence, RunSelectedTests, SaveSequenceFiles, SinglePass, Terminate, UseSourceControl,
}
Expand description

A built-in privilege, as passed to a privilege check.

The engine identifies privileges by name, so this enum exists to stop a caller mistyping one into a check that then silently reports false.

Note that the constant and the value it carries are not always the same word: CtrlExecFlow is written ControlExecFlow on the wire. Using this type rather than a literal avoids having to remember which is which.

Variants§

§

Abort

Abort.

§

ConfigAdapter

ConfigAdapter.

§

ConfigApp

ConfigApp.

§

ConfigDatabase

ConfigDatabase.

§

ConfigEngine

ConfigEngine.

§

ConfigModel

ConfigModel.

§

ConfigReport

ConfigReport.

§

Configure

Configure.

§

CtrlExecFlow

CtrlExecFlow.

§

Debug

Debug.

§

Develop

Develop.

§

EditProcessModelFiles

EditProcessModelFiles.

§

EditRuntimeVariables

EditRuntimeVariables.

§

EditSequenceFiles

EditSequenceFiles.

§

EditStationGlobals

EditStationGlobals.

§

EditTemplates

EditTemplates.

§

EditTypes

EditTypes.

§

EditUsers

EditUsers.

§

EditWorkspace

EditWorkspace.

§

Execute

Execute.

§

GrantAll

GrantAll.

§

LoopSelectedTests

LoopSelectedTests.

§

Operate

Operate.

§

RunAnySequence

RunAnySequence.

§

RunSelectedTests

RunSelectedTests.

§

SaveSequenceFiles

SaveSequenceFiles.

§

SinglePass

SinglePass.

§

Terminate

Terminate.

§

UseSourceControl

UseSourceControl.

Implementations§

Source§

impl UserPrivilege

Source

pub const ALL: [Self; 29]

Every built-in privilege.

Source

pub const fn name(self) -> &'static str

The name the engine expects.

A privilege can also be named by its full path, such as Debug.RunSelectedTests; this returns the base name.

Examples found in repository?
examples/users_manage.rs (line 22)
17fn report_privileges(user: &User, privileges: &[UserPrivilege]) -> Result<(), rs_teststand::Error> {
18    for privilege in privileges {
19        // has_privilege answers for the user *and* any group they belong to.
20        println!(
21            "    {:<20} {}",
22            privilege.name(),
23            user.has_privilege(*privilege)?
24        );
25    }
26    Ok(())
27}

Trait Implementations§

Source§

impl Clone for UserPrivilege

Source§

fn clone(&self) -> UserPrivilege

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Copy for UserPrivilege

Source§

impl Debug for UserPrivilege

Source§

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

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

impl Eq for UserPrivilege

Source§

impl Hash for UserPrivilege

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for UserPrivilege

Source§

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

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

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

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for UserPrivilege

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> CloneToUninit for T
where T: Clone,

Source§

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<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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

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

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

Uses borrowed data to replace owned data, usually by cloning. Read more
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.