using System;
namespace System.Security.AccessControl
{
/// Represents an Access Control Entry (ACE) that contains a qualifier. The qualifier, represented by an object, specifies whether the ACE allows access, denies access, causes system audits, or causes system alarms. The class is the abstract base class for the and classes.
// Token: 0x020004D7 RID: 1239
public abstract class QualifiedAce : KnownAce
{
// Token: 0x06002DFF RID: 11775 RVA: 0x000940E8 File Offset: 0x000922E8
internal QualifiedAce(InheritanceFlags inheritanceFlags, PropagationFlags propagationFlags, AceQualifier aceQualifier, bool isCallback, byte[] opaque)
: base(inheritanceFlags, propagationFlags)
{
this.ace_qualifier = aceQualifier;
this.is_callback = isCallback;
this.SetOpaque(opaque);
}
/// Gets a value that specifies whether the ACE allows access, denies access, causes system audits, or causes system alarms.
/// A value that specifies whether the ACE allows access, denies access, causes system audits, or causes system alarms.
// Token: 0x17000915 RID: 2325
// (get) Token: 0x06002E00 RID: 11776 RVA: 0x0009410C File Offset: 0x0009230C
public AceQualifier AceQualifier
{
get
{
return this.ace_qualifier;
}
}
/// Specifies whether this object contains callback data.
/// true if this object contains callback data; otherwise, false.
// Token: 0x17000916 RID: 2326
// (get) Token: 0x06002E01 RID: 11777 RVA: 0x00094114 File Offset: 0x00092314
public bool IsCallback
{
get
{
return this.is_callback;
}
}
/// Gets the length of the opaque callback data associated with this object. This property is valid only for callback Access Control Entries (ACEs).
/// The length of the opaque callback data.
// Token: 0x17000917 RID: 2327
// (get) Token: 0x06002E02 RID: 11778 RVA: 0x0009411C File Offset: 0x0009231C
public int OpaqueLength
{
get
{
return this.opaque.Length;
}
}
/// Returns the opaque callback data associated with this object.
/// An array of byte values that represents the opaque callback data associated with this object.
// Token: 0x06002E03 RID: 11779 RVA: 0x00094128 File Offset: 0x00092328
public byte[] GetOpaque()
{
return (byte[])this.opaque.Clone();
}
/// Sets the opaque callback data associated with this object.
/// An array of byte values that represents the opaque callback data for this object.
// Token: 0x06002E04 RID: 11780 RVA: 0x0009413C File Offset: 0x0009233C
public void SetOpaque(byte[] opaque)
{
if (opaque == null)
{
throw new ArgumentNullException("opaque");
}
this.opaque = (byte[])opaque.Clone();
}
// Token: 0x04001224 RID: 4644
private AceQualifier ace_qualifier;
// Token: 0x04001225 RID: 4645
private bool is_callback;
// Token: 0x04001226 RID: 4646
private byte[] opaque;
}
}