Пример #1
0
        /// <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);
        }
Пример #2
0
        /// <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);
        }
Пример #3
0
        /// <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);
        }
Пример #4
0
        /// <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);
        }
Пример #5
0
        /// <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);
        }