pub struct AclEntry {
pub fab_idx: Option<NonZero<u8>>,
/* private fields */
}Expand description
The ACL entry object
Fields§
§fab_idx: Option<NonZero<u8>>Implementations§
Source§impl AclEntry
impl AclEntry
Sourcepub const fn new(
fab_idx: Option<NonZero<u8>>,
privilege: Privilege,
auth_mode: AuthMode,
) -> AclEntry
pub const fn new( fab_idx: Option<NonZero<u8>>, privilege: Privilege, auth_mode: AuthMode, ) -> AclEntry
Create a new ACL entry object
Sourcepub fn init(
fab_idx: Option<NonZero<u8>>,
privilege: Privilege,
auth_mode: AuthMode,
) -> impl Init<AclEntry>
pub fn init( fab_idx: Option<NonZero<u8>>, privilege: Privilege, auth_mode: AuthMode, ) -> impl Init<AclEntry>
Return an initializer for an ACL entry object using the given fabric index, privilege and auth mode as input
Sourcepub fn init_with<'a>(
fab_idx: NonZero<u8>,
entry: &'a AccessControlEntryStruct<'a>,
) -> impl Init<AclEntry, Error> + 'a
pub fn init_with<'a>( fab_idx: NonZero<u8>, entry: &'a AccessControlEntryStruct<'a>, ) -> impl Init<AclEntry, Error> + 'a
Return an initializer for an ACL entry object using the given fabric index and TLV entry struct as input
Sourcepub fn read_into<P>(
&self,
accessing_fab_idx: u8,
fab_idx: Option<u8>,
builder: AccessControlEntryStructBuilder<P>,
) -> Result<P, Error>where
P: TLVBuilderParent,
pub fn read_into<P>(
&self,
accessing_fab_idx: u8,
fab_idx: Option<u8>,
builder: AccessControlEntryStructBuilder<P>,
) -> Result<P, Error>where
P: TLVBuilderParent,
Return the data of the ACL entry object into the provided TLV builder
Sourcepub fn normalize(&mut self)
pub fn normalize(&mut self)
Normalize the ACL entry by converting non-null but empty subjects/targets to null, as the spec and YAML tests expect
Sourcepub fn subjects(&self) -> Maybe<&[u64], AsNullable>
pub fn subjects(&self) -> Maybe<&[u64], AsNullable>
Return the subjects of the ACL entry
Sourcepub fn targets(&self) -> Maybe<&[Target], AsNullable>
pub fn targets(&self) -> Maybe<&[Target], AsNullable>
Return the targets of the ACL entry
pub fn auxiliary_type(&self) -> Option<AccessControlAuxiliaryTypeEnum>
Sourcepub fn allow(&self, req: &AccessReq<'_>) -> bool
pub fn allow(&self, req: &AccessReq<'_>) -> bool
Check if the ACL entry allows access to the given accessor and object
Sourcepub fn add_subject(&mut self, subject: u64) -> Result<(), Error>
pub fn add_subject(&mut self, subject: u64) -> Result<(), Error>
Add a subject to the ACL entry
Trait Implementations§
Source§impl<'__from_tlv> FromTLV<'__from_tlv> for AclEntry
impl<'__from_tlv> FromTLV<'__from_tlv> for AclEntry
Source§fn from_tlv(element: &TLVElement<'__from_tlv>) -> Result<AclEntry, Error>
fn from_tlv(element: &TLVElement<'__from_tlv>) -> Result<AclEntry, Error>
Deserialize the type from a TLV-encoded element.
Source§fn init_from_tlv(element: TLVElement<'__from_tlv>) -> impl Init<AclEntry, Error>
fn init_from_tlv(element: TLVElement<'__from_tlv>) -> impl Init<AclEntry, Error>
Generate an in-place initializer for the type that initializes
the type from a TLV-encoded element.
Source§fn nullable_from_tlv(element: &TLVElement<'a>) -> Result<Self, Error>
fn nullable_from_tlv(element: &TLVElement<'a>) -> Result<Self, Error>
Deserialize the type from a TLV-encoded element. Read more
Source§fn init_nullable_from_tlv(element: TLVElement<'a>) -> impl Init<Self, Error>
fn init_nullable_from_tlv(element: TLVElement<'a>) -> impl Init<Self, Error>
Generate an in-place initializer for the type that initializes
the type from a TLV-encoded element. Read more
impl StructuralPartialEq for AclEntry
Source§impl ToTLV for AclEntry
impl ToTLV for AclEntry
Source§fn to_tlv<W>(&self, tag: &TLVTag, tw: W) -> Result<(), Error>where
W: TLVWrite,
fn to_tlv<W>(&self, tag: &TLVTag, tw: W) -> Result<(), Error>where
W: TLVWrite,
Serialize the type to a TLV-encoded stream.
Source§fn tlv_iter(&self, tag: TLVTag) -> impl Iterator<Item = Result<TLV<'_>, Error>>
fn tlv_iter(&self, tag: TLVTag) -> impl Iterator<Item = Result<TLV<'_>, Error>>
Serialize the type as an iterator of
TLV instances by potentially borrowing
data from the type.Source§impl<'__from_tlv> TryFrom<&TLVElement<'__from_tlv>> for AclEntry
impl<'__from_tlv> TryFrom<&TLVElement<'__from_tlv>> for AclEntry
Auto Trait Implementations§
impl Freeze for AclEntry
impl RefUnwindSafe for AclEntry
impl Send for AclEntry
impl Sync for AclEntry
impl Unpin for AclEntry
impl UnsafeUnpin for AclEntry
impl UnwindSafe for AclEntry
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
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T, I> IntoFallibleInit<T> for Iwhere
I: Init<T>,
impl<T, I> IntoFallibleInit<T> for Iwhere
I: Init<T>,
Source§fn into_fallible<E>(self) -> impl Init<T, E>
fn into_fallible<E>(self) -> impl Init<T, E>
Convert the infallible initializer to a fallible one.
Source§impl<Source, Target> OctetsInto<Target> for Sourcewhere
Target: OctetsFrom<Source>,
impl<Source, Target> OctetsInto<Target> for Sourcewhere
Target: OctetsFrom<Source>,
type Error = <Target as OctetsFrom<Source>>::Error
Source§fn try_octets_into(
self,
) -> Result<Target, <Source as OctetsInto<Target>>::Error>
fn try_octets_into( self, ) -> Result<Target, <Source as OctetsInto<Target>>::Error>
Performs the conversion.
Source§fn octets_into(self) -> Target
fn octets_into(self) -> Target
Performs an infallible conversion.