Code:
/ 4.0 / 4.0 / 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.
// ==++==
//
// 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
- AmbiguousMatchException.cs
- AxWrapperGen.cs
- RsaSecurityToken.cs
- FontUnitConverter.cs
- DefaultObjectMappingItemCollection.cs
- Camera.cs
- TableRowGroup.cs
- Encoding.cs
- sqlnorm.cs
- DataSourceSelectArguments.cs
- XmlSchemaSimpleContent.cs
- OutOfMemoryException.cs
- ProviderCommandInfoUtils.cs
- ProfilePropertyNameValidator.cs
- ConfigurationSectionGroupCollection.cs
- IPAddress.cs
- XsdValidatingReader.cs
- AttributeData.cs
- RoleManagerModule.cs
- FixUpCollection.cs
- BufferAllocator.cs
- ITextView.cs
- XmlTextAttribute.cs
- ControlPersister.cs
- PartBasedPackageProperties.cs
- TemplateEditingService.cs
- EntityType.cs
- CodeTypeReferenceCollection.cs
- AsyncResult.cs
- EdmPropertyAttribute.cs
- StreamAsIStream.cs
- SQLMembershipProvider.cs
- ExpressionParser.cs
- DSASignatureDeformatter.cs
- InternalBufferOverflowException.cs
- XmlAnyAttributeAttribute.cs
- FlagsAttribute.cs
- ObjectReaderCompiler.cs
- ModuleBuilderData.cs
- User.cs
- EventLogInternal.cs
- TransformationRules.cs
- NamespaceEmitter.cs
- KeyToListMap.cs
- BaseDataBoundControl.cs
- SspiSafeHandles.cs
- Base64WriteStateInfo.cs
- BaseHashHelper.cs
- EmptyElement.cs
- ToolboxItemWrapper.cs
- ModelItem.cs
- FileSystemWatcher.cs
- SerializableAuthorizationContext.cs
- WorkflowItemsPresenter.cs
- AuthStoreRoleProvider.cs
- URIFormatException.cs
- Ref.cs
- X509CertificateValidator.cs
- Util.cs
- TypeToStringValueConverter.cs
- HtmlFormParameterReader.cs
- SoapSchemaExporter.cs
- InheritanceContextHelper.cs
- StringAttributeCollection.cs
- DataTableClearEvent.cs
- XsltConvert.cs
- XmlSerializerFactory.cs
- ReadOnlyHierarchicalDataSourceView.cs
- HostExecutionContextManager.cs
- StylusPointPropertyInfo.cs
- DesignTimeVisibleAttribute.cs
- DataBindingHandlerAttribute.cs
- Span.cs
- AccessedThroughPropertyAttribute.cs
- NativeWindow.cs
- XmlMemberMapping.cs
- InstanceNotReadyException.cs
- Point3DCollectionValueSerializer.cs
- SmtpException.cs
- _ReceiveMessageOverlappedAsyncResult.cs
- COM2AboutBoxPropertyDescriptor.cs
- ApplicationSettingsBase.cs
- CompilationSection.cs
- DrawingVisualDrawingContext.cs
- Vector3D.cs
- OptimizerPatterns.cs
- QueryPageSettingsEventArgs.cs
- ThemeDirectoryCompiler.cs
- WSHttpBindingBaseElement.cs
- MessageQueueInstaller.cs
- SrgsToken.cs
- TextMetrics.cs
- TextSpanModifier.cs
- ColorAnimation.cs
- Control.cs
- FormatterServices.cs
- RoutedCommand.cs
- SpecialFolderEnumConverter.cs
- BindingExpression.cs
- GridViewDeletedEventArgs.cs