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
- ControllableStoryboardAction.cs
- JournalEntryListConverter.cs
- FolderBrowserDialog.cs
- PreservationFileReader.cs
- BitmapCache.cs
- NumberFunctions.cs
- RuleProcessor.cs
- LinqDataSourceDisposeEventArgs.cs
- ItemList.cs
- SplashScreenNativeMethods.cs
- WorkerRequest.cs
- DetailsViewPagerRow.cs
- Control.cs
- HttpAsyncResult.cs
- WebPartConnectionsDisconnectVerb.cs
- SRGSCompiler.cs
- DispatcherEventArgs.cs
- ConversionContext.cs
- InkPresenterAutomationPeer.cs
- InternalConfigRoot.cs
- CalendarDayButton.cs
- BrowsableAttribute.cs
- OdbcReferenceCollection.cs
- SamlSerializer.cs
- HttpCookiesSection.cs
- KnownTypeAttribute.cs
- PersistenceProviderFactory.cs
- StickyNoteContentControl.cs
- ScrollEvent.cs
- IIS7UserPrincipal.cs
- XmlCountingReader.cs
- TableParaClient.cs
- SortAction.cs
- AQNBuilder.cs
- LockRecursionException.cs
- BitmapPalettes.cs
- RtfControlWordInfo.cs
- GridViewHeaderRowPresenterAutomationPeer.cs
- xsdvalidator.cs
- SelectionPattern.cs
- SourceItem.cs
- ColorTranslator.cs
- MouseEvent.cs
- WebPartRestoreVerb.cs
- RunInstallerAttribute.cs
- ResumeStoryboard.cs
- XmlSchemaObjectTable.cs
- DataServiceQueryException.cs
- ToggleProviderWrapper.cs
- DES.cs
- ResourcePermissionBase.cs
- ScrollViewer.cs
- UpdatePanelTriggerCollection.cs
- ChannelAcceptor.cs
- CharacterBufferReference.cs
- GridViewSortEventArgs.cs
- DataSourceXmlSubItemAttribute.cs
- SQLStringStorage.cs
- XPathConvert.cs
- PropertyMetadata.cs
- CheckoutException.cs
- SelectionEditor.cs
- TCPListener.cs
- SHA384Managed.cs
- DtrList.cs
- COM2ExtendedTypeConverter.cs
- SetIterators.cs
- SqlDataSourceCustomCommandPanel.cs
- MenuTracker.cs
- EntitySqlQueryCacheEntry.cs
- TimeSpanSecondsOrInfiniteConverter.cs
- EntityEntry.cs
- XmlCodeExporter.cs
- RuleSettings.cs
- DbMetaDataCollectionNames.cs
- AmbientProperties.cs
- ContextDataSource.cs
- Selection.cs
- BridgeDataRecord.cs
- CqlWriter.cs
- MetadataUtilsSmi.cs
- RecordBuilder.cs
- DriveNotFoundException.cs
- ClipboardProcessor.cs
- SqlRowUpdatingEvent.cs
- HttpFormatExtensions.cs
- AutomationProperties.cs
- PaintEvent.cs
- HandledEventArgs.cs
- FileUtil.cs
- StyleHelper.cs
- SQLUtility.cs
- DeploymentSectionCache.cs
- DataGridTextBoxColumn.cs
- FilterQueryOptionExpression.cs
- MessageEnumerator.cs
- Mapping.cs
- FilteredAttributeCollection.cs
- SmiContext.cs
- CacheChildrenQuery.cs