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
- AutoCompleteStringCollection.cs
- EFAssociationProvider.cs
- PermissionAttributes.cs
- ListBox.cs
- CapabilitiesUse.cs
- MethodBody.cs
- TextElementEnumerator.cs
- ScrollItemProviderWrapper.cs
- CallbackDebugElement.cs
- FolderBrowserDialog.cs
- XmlValidatingReaderImpl.cs
- BitmapEffectInputConnector.cs
- Terminate.cs
- XmlDataSourceDesigner.cs
- OdbcConnectionStringbuilder.cs
- ParentUndoUnit.cs
- DataControlLinkButton.cs
- PriorityQueue.cs
- ControlPropertyNameConverter.cs
- DataObjectFieldAttribute.cs
- JoinGraph.cs
- StorageEntityTypeMapping.cs
- ProfileSettings.cs
- XmlArrayItemAttributes.cs
- ItemDragEvent.cs
- PeekCompletedEventArgs.cs
- ImageConverter.cs
- PartialArray.cs
- EdmFunction.cs
- SqlDataSourceConfigureSelectPanel.cs
- ResourceManager.cs
- UIElement3D.cs
- ChtmlImageAdapter.cs
- _DomainName.cs
- TdsParserHelperClasses.cs
- ColorTransform.cs
- StylusPoint.cs
- ImageCodecInfoPrivate.cs
- AsymmetricAlgorithm.cs
- RewritingSimplifier.cs
- ISAPIWorkerRequest.cs
- WaitHandleCannotBeOpenedException.cs
- DebugView.cs
- DatatypeImplementation.cs
- Part.cs
- _SecureChannel.cs
- AutomationIdentifier.cs
- SqlInternalConnection.cs
- SystemIPAddressInformation.cs
- QueryResultOp.cs
- RecordManager.cs
- AnnotationResourceCollection.cs
- DefaultPrintController.cs
- MembershipUser.cs
- EditorResources.cs
- WebControlsSection.cs
- SimpleHandlerFactory.cs
- Base64Stream.cs
- FunctionNode.cs
- ChildrenQuery.cs
- XmlSchemaSet.cs
- EventPrivateKey.cs
- BitStream.cs
- ToolStripContentPanel.cs
- UserNameSecurityToken.cs
- RenderData.cs
- DateTimePicker.cs
- TargetInvocationException.cs
- LocalizableAttribute.cs
- BamlRecordWriter.cs
- PackageDigitalSignatureManager.cs
- EdmMember.cs
- DataAdapter.cs
- _HelperAsyncResults.cs
- ButtonField.cs
- DataGridRowAutomationPeer.cs
- DesignerAttribute.cs
- ListViewGroupConverter.cs
- ClientSponsor.cs
- TableItemPattern.cs
- ProcessHostConfigUtils.cs
- Point3D.cs
- WebPartChrome.cs
- CodeLabeledStatement.cs
- SessionStateContainer.cs
- HopperCache.cs
- VectorConverter.cs
- StickyNoteContentControl.cs
- ConstantExpression.cs
- Predicate.cs
- StylusOverProperty.cs
- EntitySetBase.cs
- HttpRuntime.cs
- PropertyNames.cs
- CodeDelegateCreateExpression.cs
- CollectionTypeElement.cs
- ScriptingSectionGroup.cs
- TextMarkerSource.cs
- MulticastDelegate.cs
- TextElement.cs