System.Security.PermissionListSet.Update2 C# (CSharp) Method

Update2() private method

private Update2 ( PermissionSetTriple currentTriple, FrameSecurityDescriptor fsd, bool fDeclarative ) : bool
currentTriple PermissionSetTriple
fsd FrameSecurityDescriptor
fDeclarative bool
return bool
        private bool Update2(PermissionSetTriple currentTriple, FrameSecurityDescriptor fsd, bool fDeclarative)
        {
            // Deny
            PermissionSet deniedPset = fsd.GetDenials(fDeclarative);
            if (deniedPset != null)
            {
                currentTriple.UpdateRefused(deniedPset);
            }

            // permit only
            PermissionSet permitOnlyPset = fsd.GetPermitOnly(fDeclarative);
            if (permitOnlyPset != null)
            {
                currentTriple.UpdateGrant(permitOnlyPset);
            }

            // Assert all possible
            if (fsd.GetAssertAllPossible())
                return true; // halt the construction
                
            // Assert
            PermissionSet assertPset = fsd.GetAssertions(fDeclarative);
            if (assertPset != null)
            {
                if (assertPset.IsUnrestricted())
                    return true; // halt the construction
                PermissionSetTriple retTriple = currentTriple.UpdateAssert(assertPset);
                if (retTriple != null)
                {
                    EnsureTriplesListCreated();
                    m_permSetTriples.Add(retTriple);
                }
            }
                
            return false;
        }
        private void Update(PermissionSetTriple currentTriple, PermissionSet in_g, PermissionSet in_r)