pub struct Flags(/* private fields */);Expand description
The flags used to specify authorization options.
Implementations§
Source§impl Flags
impl Flags
Sourcepub const DEFAULTS: Self
pub const DEFAULTS: Self
An empty flag set that you use as a placeholder when you don’t want any of the other flags.
Sourcepub const INTERACTION_ALLOWED: Self
pub const INTERACTION_ALLOWED: Self
A flag that permits user interaction as needed.
Sourcepub const EXTEND_RIGHTS: Self
pub const EXTEND_RIGHTS: Self
A flag that permits the Security Server to attempt to grant the rights requested.
Sourcepub const PARTIAL_RIGHTS: Self
pub const PARTIAL_RIGHTS: Self
A flag that permits the Security Server to grant rights on an individual basis.
Sourcepub const DESTROY_RIGHTS: Self
pub const DESTROY_RIGHTS: Self
A flag that instructs the Security Server to revoke authorization.
Sourcepub const PREAUTHORIZE: Self
pub const PREAUTHORIZE: Self
A flag that instructs the Security Server to preauthorize the rights requested.
Source§impl Flags
impl Flags
Sourcepub const fn bits(&self) -> AuthorizationFlags
pub const fn bits(&self) -> AuthorizationFlags
Returns the raw value of the flags currently stored.
Sourcepub const fn from_bits(bits: AuthorizationFlags) -> Option<Self>
pub const fn from_bits(bits: AuthorizationFlags) -> Option<Self>
Convert from underlying bit representation, unless that representation contains bits that do not correspond to a flag.
Sourcepub const fn from_bits_truncate(bits: AuthorizationFlags) -> Self
pub const fn from_bits_truncate(bits: AuthorizationFlags) -> Self
Convert from underlying bit representation, dropping any bits that do not correspond to flags.
Sourcepub const fn from_bits_retain(bits: AuthorizationFlags) -> Self
pub const fn from_bits_retain(bits: AuthorizationFlags) -> Self
Convert from underlying bit representation, preserving all bits (even those not corresponding to a defined flag).
Sourcepub fn from_name(name: &str) -> Option<Self>
pub fn from_name(name: &str) -> Option<Self>
Get the value for a flag from its stringified name.
Names are case-sensitive, so must correspond exactly to the identifier given to the flag.
Sourcepub const fn intersects(&self, other: Self) -> bool
pub const fn intersects(&self, other: Self) -> bool
Returns true if there are flags common to both self and other.
Sourcepub const fn contains(&self, other: Self) -> bool
pub const fn contains(&self, other: Self) -> bool
Returns true if all of the flags in other are contained within self.
Sourcepub fn insert(&mut self, other: Self)
pub fn insert(&mut self, other: Self)
Inserts the specified flags in-place.
This method is equivalent to union.
Sourcepub fn remove(&mut self, other: Self)
pub fn remove(&mut self, other: Self)
Removes the specified flags in-place.
This method is equivalent to difference.
Sourcepub fn toggle(&mut self, other: Self)
pub fn toggle(&mut self, other: Self)
Toggles the specified flags in-place.
This method is equivalent to symmetric_difference.
Sourcepub fn set(&mut self, other: Self, value: bool)
pub fn set(&mut self, other: Self, value: bool)
Inserts or removes the specified flags depending on the passed value.
Sourcepub const fn intersection(self, other: Self) -> Self
pub const fn intersection(self, other: Self) -> Self
Returns the intersection between the flags in self and
other.
Calculating self bitwise and (&) other, including
any bits that don’t correspond to a defined flag.
Sourcepub const fn union(self, other: Self) -> Self
pub const fn union(self, other: Self) -> Self
Returns the union of between the flags in self and other.
Calculates self bitwise or (|) other, including
any bits that don’t correspond to a defined flag.
Sourcepub const fn difference(self, other: Self) -> Self
pub const fn difference(self, other: Self) -> Self
Returns the difference between the flags in self and other.
Calculates self bitwise and (&!) the bitwise negation of other,
including any bits that don’t correspond to a defined flag.
This method is not equivalent to a & !b when there are bits set that
don’t correspond to a defined flag. The ! operator will unset any
bits that don’t correspond to a flag, so they’ll always be unset by a &! b,
but respected by a.difference(b).
Sourcepub const fn symmetric_difference(self, other: Self) -> Self
pub const fn symmetric_difference(self, other: Self) -> Self
Returns the symmetric difference between the flags
in self and other.
Calculates self bitwise exclusive or (^) other,
including any bits that don’t correspond to a defined flag.
Sourcepub const fn complement(self) -> Self
pub const fn complement(self) -> Self
Returns the complement of this set of flags.
Calculates the bitwise negation (!) of self,
unsetting any bits that don’t correspond to a defined flag.
Trait Implementations§
Source§impl BitAndAssign for Flags
impl BitAndAssign for Flags
Source§fn bitand_assign(&mut self, other: Self)
fn bitand_assign(&mut self, other: Self)
Disables all flags disabled in the set.
Source§impl BitOrAssign for Flags
impl BitOrAssign for Flags
Source§fn bitor_assign(&mut self, other: Self)
fn bitor_assign(&mut self, other: Self)
Adds the set of flags.
Source§impl BitXorAssign for Flags
impl BitXorAssign for Flags
Source§fn bitxor_assign(&mut self, other: Self)
fn bitxor_assign(&mut self, other: Self)
Toggles the set of flags.
Source§impl Extend<Flags> for Flags
impl Extend<Flags> for Flags
Source§fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)
fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)
Source§fn extend_one(&mut self, item: A)
fn extend_one(&mut self, item: A)
extend_one)Source§fn extend_reserve(&mut self, additional: usize)
fn extend_reserve(&mut self, additional: usize)
extend_one)Source§impl Flags for Flags
impl Flags for Flags
Source§fn bits(&self) -> AuthorizationFlags
fn bits(&self) -> AuthorizationFlags
Source§fn from_bits_retain(bits: AuthorizationFlags) -> Flags
fn from_bits_retain(bits: AuthorizationFlags) -> Flags
Source§fn from_bits(bits: Self::Bits) -> Option<Self>
fn from_bits(bits: Self::Bits) -> Option<Self>
Source§fn from_bits_truncate(bits: Self::Bits) -> Self
fn from_bits_truncate(bits: Self::Bits) -> Self
Source§fn iter_names(&self) -> IterNames<Self>
fn iter_names(&self) -> IterNames<Self>
Source§fn intersects(&self, other: Self) -> boolwhere
Self: Sized,
fn intersects(&self, other: Self) -> boolwhere
Self: Sized,
true if there are flags common to both self and other.Source§fn contains(&self, other: Self) -> boolwhere
Self: Sized,
fn contains(&self, other: Self) -> boolwhere
Self: Sized,
true if all of the flags in other are contained within self.Source§fn insert(&mut self, other: Self)where
Self: Sized,
fn insert(&mut self, other: Self)where
Self: Sized,
Source§fn remove(&mut self, other: Self)where
Self: Sized,
fn remove(&mut self, other: Self)where
Self: Sized,
Source§fn toggle(&mut self, other: Self)where
Self: Sized,
fn toggle(&mut self, other: Self)where
Self: Sized,
Source§fn set(&mut self, other: Self, value: bool)where
Self: Sized,
fn set(&mut self, other: Self, value: bool)where
Self: Sized,
Source§fn intersection(self, other: Self) -> Self
fn intersection(self, other: Self) -> Self
self and other.Source§fn difference(self, other: Self) -> Self
fn difference(self, other: Self) -> Self
self and other.Source§fn symmetric_difference(self, other: Self) -> Self
fn symmetric_difference(self, other: Self) -> Self
self and other.