Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / clr / src / BCL / System / Security / PermissionSetEnumerator.cs / 1305376 / 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;
}
#if FEATURE_CAS_POLICY
SecurityElement elem = obj as SecurityElement;
if (elem != null)
{
perm = m_permSet.CreatePermission(elem, enm.Index);
if (perm != null)
{
enm.Current = perm;
return true;
}
}
#endif // FEATURE_CAS_POLICY
}
return false;
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- MethodRental.cs
- LogConverter.cs
- TableDesigner.cs
- RegexCapture.cs
- FileDataSourceCache.cs
- SuppressMessageAttribute.cs
- SqlUDTStorage.cs
- CaseStatement.cs
- RepeatEnumerable.cs
- FunctionParameter.cs
- WorkflowInlining.cs
- FixedSOMPage.cs
- WebBrowser.cs
- Quad.cs
- InputLangChangeRequestEvent.cs
- ObjectQueryProvider.cs
- ProxyAttribute.cs
- CompressStream.cs
- WebPartMenu.cs
- SqlUserDefinedAggregateAttribute.cs
- objectresult_tresulttype.cs
- TextEditorContextMenu.cs
- PrimaryKeyTypeConverter.cs
- DefaultExpression.cs
- SelectionPattern.cs
- OracleConnectionStringBuilder.cs
- TargetControlTypeAttribute.cs
- Header.cs
- ParameterCollection.cs
- PeerNameResolver.cs
- OleDbException.cs
- SafeRegistryKey.cs
- RIPEMD160Managed.cs
- embossbitmapeffect.cs
- SafeLibraryHandle.cs
- SkinIDTypeConverter.cs
- LayoutDump.cs
- TrackPointCollection.cs
- TableAdapterManagerNameHandler.cs
- CommandHelpers.cs
- DataSourceHelper.cs
- ModelVisual3D.cs
- Util.cs
- IdentityNotMappedException.cs
- ContainsRowNumberChecker.cs
- ReadingWritingEntityEventArgs.cs
- InputGestureCollection.cs
- DbProviderFactoriesConfigurationHandler.cs
- BamlWriter.cs
- ListenerSessionConnection.cs
- VarRemapper.cs
- WindowsListViewScroll.cs
- MatchingStyle.cs
- WebPartTransformerAttribute.cs
- PtsCache.cs
- SchemaImporterExtensionsSection.cs
- DelegatingTypeDescriptionProvider.cs
- ImportCatalogPart.cs
- OdbcError.cs
- _Events.cs
- RegistryPermission.cs
- ServiceReference.cs
- ManagementObject.cs
- XmlSignificantWhitespace.cs
- BindingObserver.cs
- MexHttpBindingCollectionElement.cs
- TreeNodeConverter.cs
- isolationinterop.cs
- AttachedPropertyBrowsableForTypeAttribute.cs
- ToolStripComboBox.cs
- ExtractorMetadata.cs
- IndentedTextWriter.cs
- LoginUtil.cs
- PostBackOptions.cs
- SamlAuthorityBinding.cs
- LinqExpressionNormalizer.cs
- DataControlCommands.cs
- XmlSchemaSimpleTypeRestriction.cs
- FontInfo.cs
- DocumentViewer.cs
- FlowLayoutPanel.cs
- XmlRootAttribute.cs
- EntityDataSourceDesignerHelper.cs
- _DigestClient.cs
- AttachedAnnotationChangedEventArgs.cs
- MsmqIntegrationBindingElement.cs
- ProgressBarBrushConverter.cs
- DropSource.cs
- OutputCacheModule.cs
- AuthenticationService.cs
- XmlDataImplementation.cs
- HttpResponseWrapper.cs
- ListViewInsertEventArgs.cs
- FrugalMap.cs
- CompilerGeneratedAttribute.cs
- FontCacheUtil.cs
- SqlMethodAttribute.cs
- TreeView.cs
- RegexMatchCollection.cs
- OleDbConnection.cs