pub struct Filters { /* private fields */ }
Expand description
General authorizations to access the iChen System via Open Protocol.
See this document for details.
Implementations§
Source§impl Filters
impl Filters
Sourcepub const All: Filters
pub const All: Filters
Administrator rights.
All
implies Status
+ Cycle
+ Mold
+ Actions
+ Alarms
+ Audit
Sourcepub fn from_bits(bits: u32) -> Option<Filters>
pub fn from_bits(bits: u32) -> Option<Filters>
Convert from underlying bit representation, unless that representation contains bits that do not correspond to a flag.
Sourcepub const fn from_bits_truncate(bits: u32) -> Filters
pub const fn from_bits_truncate(bits: u32) -> Filters
Convert from underlying bit representation, dropping any bits that do not correspond to flags.
Sourcepub const fn intersects(&self, other: Filters) -> bool
pub const fn intersects(&self, other: Filters) -> bool
Returns true
if there are flags common to both self
and other
.
Source§impl Filters
impl Filters
Sourcepub fn has(self, other: Self) -> bool
pub fn has(self, other: Self) -> bool
Is a particular set of filters set?
§Examples
let f = Filters::Status + Filters::Audit + Filters::JobCards;
assert!(f.has(Filters::Status));
assert!(f.has(Filters::JobCards));
assert!(!f.has(Filters::All));
assert!(!f.has(Filters::OPCUA));
assert!(!f.has(Filters::Mold));
Trait Implementations§
Source§impl AddAssign for Filters
impl AddAssign for Filters
Source§fn add_assign(&mut self, other: Self)
fn add_assign(&mut self, other: Self)
Turn on a particular filter.
§Example
let mut f = Filters::Cycle + Filters::OPCUA;
f += Filters::All;
assert_eq!(Filters::All + Filters::OPCUA, f);
Source§impl BitAndAssign for Filters
impl BitAndAssign for Filters
Source§fn bitand_assign(&mut self, other: Filters)
fn bitand_assign(&mut self, other: Filters)
Disables all flags disabled in the set.
Source§impl BitOrAssign for Filters
impl BitOrAssign for Filters
Source§fn bitor_assign(&mut self, other: Filters)
fn bitor_assign(&mut self, other: Filters)
Adds the set of flags.
Source§impl BitXorAssign for Filters
impl BitXorAssign for Filters
Source§fn bitxor_assign(&mut self, other: Filters)
fn bitxor_assign(&mut self, other: Filters)
Toggles the set of flags.
Source§impl<'de> Deserialize<'de> for Filters
impl<'de> Deserialize<'de> for Filters
Source§fn deserialize<D: Deserializer<'de>>(d: D) -> Result<Self, D::Error>
fn deserialize<D: Deserializer<'de>>(d: D) -> Result<Self, D::Error>
Source§impl Display for Filters
Serialize Filters
as comma-separated list.
impl Display for Filters
Serialize Filters
as comma-separated list.
§Examples
let f = Filters::All + Filters::Cycle + Filters::OPCUA;
assert_eq!("All, OPCUA", f.to_string());
Source§impl Extend<Filters> for Filters
impl Extend<Filters> for Filters
Source§fn extend<T: IntoIterator<Item = Filters>>(&mut self, iterator: T)
fn extend<T: IntoIterator<Item = Filters>>(&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 FromIterator<Filters> for Filters
impl FromIterator<Filters> for Filters
Source§impl FromStr for Filters
impl FromStr for Filters
Source§fn from_str(text: &str) -> Result<Self, Self::Err>
fn from_str(text: &str) -> Result<Self, Self::Err>
Parse a comma-delimited String
into a Filters
values.
Filters::from_str
never fails.
Unmatched tokens will simply be discarded.
If nothing matches, Filters::None
will be returned.
§Examples
let f = Filters::from_str("Hello, World, Cycle, Mold,Operators|Foo+BarXYZYXYZ=123").unwrap();
assert_eq!(Filters::Cycle + Filters::Mold, f);
let f = Filters::from_str("All, OPCUA").unwrap();
assert_eq!(Filters::All + Filters::OPCUA, f);
assert!(f.has(Filters::All));
assert!(f.has(Filters::OPCUA));
assert!(!f.has(Filters::Operators));
assert!(!f.has(Filters::JobCards));
assert!(f.has(Filters::Cycle));
assert!(f.has(Filters::Status));
assert!(f.has(Filters::Mold));
assert!(f.has(Filters::Audit));
assert!(f.has(Filters::Alarms));
Source§impl Ord for Filters
impl Ord for Filters
Source§impl PartialOrd for Filters
impl PartialOrd for Filters
Source§impl SubAssign for Filters
impl SubAssign for Filters
Source§fn sub_assign(&mut self, other: Filters)
fn sub_assign(&mut self, other: Filters)
Disables all flags enabled in the set.
impl Copy for Filters
impl Eq for Filters
impl StructuralPartialEq for Filters
Auto Trait Implementations§
impl Freeze for Filters
impl RefUnwindSafe for Filters
impl Send for Filters
impl Sync for Filters
impl Unpin for Filters
impl UnwindSafe for Filters
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.