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
- GradientBrush.cs
- PublisherMembershipCondition.cs
- CurrentTimeZone.cs
- XmlSchemas.cs
- DataReaderContainer.cs
- RectangleHotSpot.cs
- documentation.cs
- GreenMethods.cs
- Frame.cs
- MonthChangedEventArgs.cs
- IPPacketInformation.cs
- PenLineJoinValidation.cs
- ContextMenu.cs
- CheckBoxPopupAdapter.cs
- XsdDataContractExporter.cs
- MessageSecurityVersionConverter.cs
- QueryableDataSource.cs
- XmlReflectionMember.cs
- TagPrefixInfo.cs
- SafeProcessHandle.cs
- JsonObjectDataContract.cs
- shaperfactoryquerycacheentry.cs
- ReadOnlyHierarchicalDataSourceView.cs
- FactoryMaker.cs
- EventLogger.cs
- PLINQETWProvider.cs
- ChannelServices.cs
- DelimitedListTraceListener.cs
- ViewBase.cs
- TaskForm.cs
- ManagementQuery.cs
- DbConnectionClosed.cs
- HttpCapabilitiesBase.cs
- ApplicationHost.cs
- CodePageEncoding.cs
- TakeQueryOptionExpression.cs
- ActivityCodeDomReferenceService.cs
- BaseTemplateCodeDomTreeGenerator.cs
- Trigger.cs
- EventBuilder.cs
- ScrollPattern.cs
- GestureRecognizer.cs
- CodeSubDirectoriesCollection.cs
- SByteStorage.cs
- HttpRequest.cs
- CompilerLocalReference.cs
- ProjectionCamera.cs
- ProgressiveCrcCalculatingStream.cs
- OleDbMetaDataFactory.cs
- DependentList.cs
- DataGridTextColumn.cs
- GridViewDeleteEventArgs.cs
- SecurityHelper.cs
- KeyProperty.cs
- MediaTimeline.cs
- IntPtr.cs
- xamlnodes.cs
- DbDataAdapter.cs
- OleDbMetaDataFactory.cs
- SqlWebEventProvider.cs
- DataGridViewComboBoxColumn.cs
- UnsafePeerToPeerMethods.cs
- ContainerFilterService.cs
- StaticDataManager.cs
- RulePatternOps.cs
- ProxyGenerationError.cs
- StateInitializationDesigner.cs
- Paragraph.cs
- HwndHost.cs
- DbProviderFactory.cs
- BindingMAnagerBase.cs
- SyndicationSerializer.cs
- SoapFormatExtensions.cs
- DllNotFoundException.cs
- NavigationCommands.cs
- Stream.cs
- PixelShader.cs
- UITypeEditor.cs
- ManagementNamedValueCollection.cs
- MetadataItem_Static.cs
- HwndSource.cs
- PolicyChain.cs
- DynamicRenderer.cs
- If.cs
- TypedTableGenerator.cs
- DrawingCollection.cs
- TypeConverter.cs
- Pkcs9Attribute.cs
- TextBounds.cs
- RayHitTestParameters.cs
- SQLBinary.cs
- DefaultTextStore.cs
- Util.cs
- WebPartEditorOkVerb.cs
- DBSqlParser.cs
- TimeSpanConverter.cs
- SafeNativeMethods.cs
- XmlCharCheckingReader.cs
- Activator.cs
- AutomationPatternInfo.cs