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

Terminate() private method

private Terminate ( PermissionSetTriple currentTriple ) : void
currentTriple PermissionSetTriple
return void
        private void Terminate(PermissionSetTriple currentTriple)
        {
            UpdateTripleListAndCreateNewTriple(currentTriple, null);
        }

Same methods

PermissionListSet::Terminate ( PermissionSetTriple currentTriple, PermissionListSet pls ) : void

Usage Example

Beispiel #1
0
        // public(internal) interface begins...
        // Creation functions
        static internal PermissionListSet CreateCompressedState(CompressedStack cs, CompressedStack innerCS)
        {
            // function that completes the construction of the compressed stack if not done so already (bottom half for demand evaluation)

            bool bHaltConstruction = false;

            if (cs.CompressedStackHandle == null)
            {
                return(null); //  FT case or Security off
            }
            PermissionListSet   pls           = new PermissionListSet();
            PermissionSetTriple currentTriple = new PermissionSetTriple();
            int numDomains = CompressedStack.GetDCSCount(cs.CompressedStackHandle);

            for (int i = numDomains - 1; (i >= 0 && !bHaltConstruction); i--)
            {
                DomainCompressedStack dcs = CompressedStack.GetDomainCompressedStack(cs.CompressedStackHandle, i);
                if (dcs == null)
                {
                    continue; // we hit a FT Domain
                }
                if (dcs.PLS == null)
                {
                    // We failed on some DCS
                    throw new SecurityException(String.Format(CultureInfo.InvariantCulture, Environment.GetResourceString("Security_Generic")));
                }
                pls.UpdateZoneAndOrigin(dcs.PLS);
                pls.Update(currentTriple, dcs.PLS);
                bHaltConstruction = dcs.ConstructionHalted;
            }
            if (!bHaltConstruction)
            {
                PermissionListSet tmp_pls = null;
                // Construction did not halt.
                if (innerCS != null)
                {
                    innerCS.CompleteConstruction(null);
                    tmp_pls = innerCS.PLS;
                }
                pls.Terminate(currentTriple, tmp_pls);
            }
            else
            {
                pls.Terminate(currentTriple);
            }

            return(pls);
        }
All Usage Examples Of System.Security.PermissionListSet::Terminate