Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / clr / src / BCL / System / Security / PermissionSetEnumerator.cs / 1 / PermissionSetEnumerator.cs
// ==++==
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// ==--==
namespace System.Security
{
//PermissionSetEnumerator.cs
using System;
using System.Collections;
using TokenBasedSetEnumerator = System.Security.Util.TokenBasedSetEnumerator;
using TokenBasedSet = System.Security.Util.TokenBasedSet;
internal class PermissionSetEnumerator : IEnumerator
{
PermissionSetEnumeratorInternal enm;
public Object Current
{
get
{
return enm.Current;
}
}
public bool MoveNext()
{
return enm.MoveNext();
}
public void Reset()
{
enm.Reset();
}
internal PermissionSetEnumerator(PermissionSet permSet)
{
enm = new PermissionSetEnumeratorInternal(permSet);
}
}
internal struct PermissionSetEnumeratorInternal
{
private PermissionSet m_permSet;
private TokenBasedSetEnumerator enm;
public Object Current
{
get
{
return enm.Current;
}
}
internal PermissionSetEnumeratorInternal(PermissionSet permSet)
{
m_permSet = permSet;
enm = new TokenBasedSetEnumerator(permSet.m_permSet);
}
public int GetCurrentIndex()
{
return enm.Index;
}
public void Reset()
{
enm.Reset();
}
public bool MoveNext()
{
while (enm.MoveNext())
{
Object obj = enm.Current;
IPermission perm = obj as IPermission;
if (perm != null)
{
enm.Current = perm;
return true;
}
SecurityElement elem = obj as SecurityElement;
if (elem != null)
{
perm = m_permSet.CreatePermission(elem, enm.Index);
if (perm != null)
{
enm.Current = perm;
return true;
}
}
}
return false;
}
}
}
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SafeProcessHandle.cs
- OperationContractGenerationContext.cs
- _SingleItemRequestCache.cs
- PointAnimationBase.cs
- HttpListenerContext.cs
- ReturnEventArgs.cs
- SQLDateTimeStorage.cs
- BaseDataBoundControl.cs
- _WinHttpWebProxyDataBuilder.cs
- VirtualPathUtility.cs
- GridViewCancelEditEventArgs.cs
- DataGridCellsPresenter.cs
- SmiEventSink_DeferedProcessing.cs
- Selector.cs
- Set.cs
- CustomAttributeBuilder.cs
- AutoGeneratedFieldProperties.cs
- UserNameSecurityTokenAuthenticator.cs
- ConnectivityStatus.cs
- TextServicesProperty.cs
- ListenUriMode.cs
- ToolboxItemFilterAttribute.cs
- SatelliteContractVersionAttribute.cs
- HttpApplication.cs
- SessionStateModule.cs
- XsdDateTime.cs
- MobileUserControl.cs
- VarInfo.cs
- TreeNode.cs
- DesignerSerializationOptionsAttribute.cs
- PropertyDescriptorComparer.cs
- GPPOINT.cs
- StackBuilderSink.cs
- PasswordBox.cs
- AutomationElementCollection.cs
- RepeatBehavior.cs
- CapabilitiesAssignment.cs
- XhtmlConformanceSection.cs
- ItemDragEvent.cs
- WebDisplayNameAttribute.cs
- StringPropertyBuilder.cs
- DeferrableContentConverter.cs
- SqlMethodCallConverter.cs
- Configuration.cs
- Trace.cs
- Claim.cs
- SqlReorderer.cs
- PropVariant.cs
- OleDbDataReader.cs
- Int64Converter.cs
- SoapBinding.cs
- Track.cs
- BitStream.cs
- UnorderedHashRepartitionStream.cs
- Int16.cs
- Span.cs
- AspCompat.cs
- SmiRecordBuffer.cs
- CodeDOMUtility.cs
- AlignmentYValidation.cs
- LinqDataSource.cs
- ProfessionalColorTable.cs
- documentsequencetextcontainer.cs
- DocumentSequenceHighlightLayer.cs
- TypedRowHandler.cs
- IUnknownConstantAttribute.cs
- TreeView.cs
- FontUnit.cs
- UrlAuthorizationModule.cs
- UserMapPath.cs
- MissingMethodException.cs
- ToolStripActionList.cs
- XPathScanner.cs
- OptimalTextSource.cs
- SlipBehavior.cs
- TransformerInfoCollection.cs
- RC2.cs
- Message.cs
- NativeMethods.cs
- LookupBindingPropertiesAttribute.cs
- DotExpr.cs
- CacheRequest.cs
- ExpressionList.cs
- RegexGroupCollection.cs
- ClusterSafeNativeMethods.cs
- TextAnchor.cs
- ComIntegrationManifestGenerator.cs
- DataGridViewButtonCell.cs
- SchemaImporterExtension.cs
- SetStateEventArgs.cs
- TraceFilter.cs
- ListDictionaryInternal.cs
- CqlGenerator.cs
- TypeResolvingOptions.cs
- SiteMapHierarchicalDataSourceView.cs
- DbProviderConfigurationHandler.cs
- AttributeCollection.cs
- LinqDataSourceSelectEventArgs.cs
- Delegate.cs
- XsdDuration.cs