mirror of https://github.com/raandree/NTFSSecurity
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
70 lines
2.8 KiB
70 lines
2.8 KiB
using Alphaleonis.Win32.Filesystem;
|
|
using System.Security.AccessControl;
|
|
|
|
namespace Security2
|
|
{
|
|
public partial class FileSystemAuditRule2
|
|
{
|
|
#region Properties
|
|
private FileSystemAuditRule fileSystemAuditRule;
|
|
private string fullName;
|
|
private bool inheritanceEnabled;
|
|
private string inheritedFrom;
|
|
|
|
public string Name { get { return System.IO.Path.GetFileName(fullName); } }
|
|
public string FullName { get { return fullName; } set { fullName = value; } }
|
|
public bool InheritanceEnabled { get { return inheritanceEnabled; } set { inheritanceEnabled = value; } }
|
|
public string InheritedFrom { get { return inheritedFrom; } set { inheritedFrom = value; } }
|
|
public AuditFlags AuditFlags { get { return fileSystemAuditRule.AuditFlags; } }
|
|
public FileSystemRights2 AccessRights { get { return (FileSystemRights2)fileSystemAuditRule.FileSystemRights; } }
|
|
public IdentityReference2 Account { get { return (IdentityReference2)fileSystemAuditRule.IdentityReference; } }
|
|
public InheritanceFlags InheritanceFlags { get { return fileSystemAuditRule.InheritanceFlags; } }
|
|
public bool IsInherited { get { return fileSystemAuditRule.IsInherited; } }
|
|
public PropagationFlags PropagationFlags { get { return fileSystemAuditRule.PropagationFlags; } }
|
|
#endregion
|
|
|
|
public FileSystemAuditRule2(FileSystemAuditRule fileSystemAuditRule)
|
|
{
|
|
this.fileSystemAuditRule = fileSystemAuditRule;
|
|
}
|
|
|
|
public FileSystemAuditRule2(FileSystemAuditRule fileSystemAuditRule, FileSystemInfo item)
|
|
{
|
|
this.fileSystemAuditRule = fileSystemAuditRule;
|
|
this.fullName = item.FullName;
|
|
}
|
|
|
|
public FileSystemAuditRule2(FileSystemAuditRule fileSystemAuditRule, string path)
|
|
{
|
|
this.fileSystemAuditRule = fileSystemAuditRule;
|
|
}
|
|
|
|
#region Conversion
|
|
public static implicit operator FileSystemAuditRule(FileSystemAuditRule2 ace2)
|
|
{
|
|
return ace2.fileSystemAuditRule;
|
|
}
|
|
public static implicit operator FileSystemAuditRule2(FileSystemAuditRule ace)
|
|
{
|
|
return new FileSystemAuditRule2(ace);
|
|
}
|
|
//REQUIRED BECAUSE OF CONVERSION OPERATORS
|
|
public override bool Equals(object obj)
|
|
{
|
|
return this.fileSystemAuditRule == (FileSystemAuditRule)obj;
|
|
}
|
|
public override int GetHashCode()
|
|
{
|
|
return this.fileSystemAuditRule.GetHashCode();
|
|
}
|
|
public override string ToString()
|
|
{
|
|
return fileSystemAuditRule.ToString();
|
|
}
|
|
public SimpleFileSystemAuditRule ToSimpleFileSystemAuditRule2()
|
|
{
|
|
return new SimpleFileSystemAuditRule(this.fullName, this.Account, this.AccessRights);
|
|
}
|
|
#endregion
|
|
}
|
|
}
|
|
|