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

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
}
}