/// <summary> /// Remove the given ACL items from the list. /// </summary> /// <param name="ais">ACL items to be removed.</param> /// <returns>this</returns> /// <remarks>This function calls CombineAcl which makes a server request.</remarks> public virtual FWAclItems Remove(AclItem[] ais) { CombineAclResult combineResult = CombineAcl(Items, ais, null); Items = combineResult.difference; return(this); }
/// <summary> /// Adds the given ACL items to the list. /// </summary> /// <param name="ais">ACL items to be added</param> /// <returns>this</returns> /// <remarks>This function calls CombineAcl which makes a server request.</remarks> public virtual FWAclItems Add(AclItem[] ais) { CombineAclResult combineResult = CombineAcl(Items, ais, null); Items = combineResult.sum; return(this); }
/// <summary> /// Compares the list with the given array of ACL items. /// </summary> /// <param name="ais">ACL items</param> /// <returns>Returns 0, if the ACLs are equal.</returns> public virtual int Compare(AclItem[] ais) { CombineAclResult combineResult = CombineAcl(Items, ais, null); return(combineResult.compareCode); }
/// <summary> /// Computes the difference, sum and intersection of the given ACLs. /// </summary> /// <param name="lhs">First ACL</param> /// <param name="rhs">Second ACL</param> /// <param name="opts">Reserved, should be null.</param> /// <returns>Result object of ACL operations</returns> /// <remarks> /// This function is called from the Add, Remove and Compare functions /// and calls the IndexServer function combineAcl. /// </remarks> public virtual CombineAclResult CombineAcl(AclItem[] lhs, AclItem[] rhs, CombineAclOptions opts) { CombineAclResult combineResult = _conn.Ix.combineAcl(lhs, rhs, opts); return(combineResult); }
/// <summary> /// Returns true, if the list contains all of the given ACL items. /// </summary> /// <param name="ais">ACL items</param> /// <returns>True, if the list contains all of the given ACL items.</returns> /// <remarks>This function calls CombineAcl which makes a server request.</remarks> public virtual bool Contains(AclItem[] ais) { CombineAclResult combineResult = CombineAcl(Items, ais, null); return(combineResult.inverseDifference.Length == 0); }