using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; using System.Text; using System.Threading.Tasks; using Microsoft.InformationProtection; namespace AipGateway.AIP { public enum AipAssignmentMethod { Standard, Privileged, Auto, } public class AipContentLabel { public AipContentLabel( AipLabel label, DateTime creationTime, AipAssignmentMethod assignmentMethod, bool isProtectionAppliedFromLabel) { this.Label = label; this.CreationTime = creationTime; this.AssignmentMethod = assignmentMethod; this.IsProtectionAppliedFromLabel = isProtectionAppliedFromLabel; } /// The actual label object applied on the content. public AipLabel Label { get; private set; } /// The creation time of the label. public DateTime CreationTime { get; private set; } /// The assignment method of the label. public AipAssignmentMethod AssignmentMethod { get; private set; } /// /// Returns true if protection was applied by the label or not. /// public bool IsProtectionAppliedFromLabel { get; private set; } } public enum AipProtectionType { /// Protection was created from a template TemplateBased, /// Protection was created ad hoc Custom, } public class AipProtectionHandler { ProtectionDescriptor ProtectionDescriptor { get; } string Owner { get; } string IssuedTo { get; } bool IsIssuedToOwner { get; } string ContentId { get; } bool UseDeprecatedAlgorithms { get; } bool AuditedExtractAllowed { get; } } public class AipFileInfo { public AipContentLabel Label; } }