SenseNet.ContentRepository.Storage.Security.PermissionEvaluator.GetAllPermissions C# (CSharp) Method

GetAllPermissions() private method

private GetAllPermissions ( string path, IUser user, bool isCreator, bool isLastModifier ) : PermissionValue[]
path string
user IUser
isCreator bool
isLastModifier bool
return PermissionValue[]
        internal PermissionValue[] GetAllPermissions(string path, IUser user, bool isCreator, bool isLastModifier)
        {
            if (user.Id == -1)
                return GetPermissionValues(-1, 0);
            //==>
            var principals = GetPrincipals(user, isCreator, isLastModifier);

            var allow = 0;
            var deny = 0;

            var firstPermInfo = GetFirstInfo(path);
            if (firstPermInfo.Path == path)
                firstPermInfo.AggregateLevelOnlyValues(principals, ref allow, ref deny);
            for (var permInfo = firstPermInfo; permInfo != null; permInfo = permInfo.Inherits ? permInfo.Parent : null)
                permInfo.AggregateEffectiveValues(principals, ref allow, ref deny);
            //==<

            return GetPermissionValues(allow, deny);
        }
        internal PermittedLevel GetPermittedLevel(string path, IUser user, bool isCreator, bool isLastModifier)