Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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; } } } // 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; } 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; } } } // 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
- ReferenceConverter.cs
- TableDetailsRow.cs
- VBCodeProvider.cs
- UInt32Converter.cs
- NaturalLanguageHyphenator.cs
- PolygonHotSpot.cs
- FlowDecision.cs
- HttpFileCollection.cs
- DependencyPropertyChangedEventArgs.cs
- UserPreferenceChangingEventArgs.cs
- PermissionListSet.cs
- RoutedUICommand.cs
- SqlProvider.cs
- ImageDrawing.cs
- RectAnimationClockResource.cs
- XmlSchemaAttributeGroup.cs
- FlowLayoutPanel.cs
- NotImplementedException.cs
- AndMessageFilter.cs
- RuntimeDelegateArgument.cs
- XmlElementElementCollection.cs
- WebBrowserProgressChangedEventHandler.cs
- CachedRequestParams.cs
- MessageBox.cs
- dbdatarecord.cs
- WindowsFormsSectionHandler.cs
- TableDesigner.cs
- ConfigXmlText.cs
- ReadOnlyPropertyMetadata.cs
- DataObjectFieldAttribute.cs
- WinFormsComponentEditor.cs
- ExportOptions.cs
- PrimitiveCodeDomSerializer.cs
- Vector3dCollection.cs
- GenericNameHandler.cs
- MenuItemBinding.cs
- DPAPIProtectedConfigurationProvider.cs
- IisTraceListener.cs
- ButtonPopupAdapter.cs
- relpropertyhelper.cs
- InputReport.cs
- URLIdentityPermission.cs
- METAHEADER.cs
- TriState.cs
- CodeChecksumPragma.cs
- XmlAnyElementAttributes.cs
- SizeAnimation.cs
- StaticTextPointer.cs
- MbpInfo.cs
- WindowsRegion.cs
- ProfileSection.cs
- StrongNameMembershipCondition.cs
- WebBrowserDesigner.cs
- WebAdminConfigurationHelper.cs
- XmlMemberMapping.cs
- CustomError.cs
- VoiceObjectToken.cs
- XmlDataSourceNodeDescriptor.cs
- CssClassPropertyAttribute.cs
- ReflectEventDescriptor.cs
- DataGridRowsPresenter.cs
- ViewPort3D.cs
- TextView.cs
- ReadOnlyHierarchicalDataSource.cs
- ImageField.cs
- Compress.cs
- GenericTypeParameterBuilder.cs
- xdrvalidator.cs
- JournalEntry.cs
- ColumnHeaderCollectionEditor.cs
- ExpandSegment.cs
- ControlCachePolicy.cs
- DynamicValidatorEventArgs.cs
- Events.cs
- XmlnsCache.cs
- StylusButton.cs
- InstanceKeyCompleteException.cs
- BinaryFormatterWriter.cs
- PathData.cs
- BitmapEffectGroup.cs
- GraphicsState.cs
- LiteralTextContainerControlBuilder.cs
- CaseInsensitiveComparer.cs
- DebugView.cs
- ProvideValueServiceProvider.cs
- DataStreams.cs
- LoginUtil.cs
- PerformanceCounterPermissionAttribute.cs
- Model3DGroup.cs
- OledbConnectionStringbuilder.cs
- FrameSecurityDescriptor.cs
- DataRowChangeEvent.cs
- WebPart.cs
- ZipIOLocalFileDataDescriptor.cs
- TextBoxRenderer.cs
- SecurityTokenProvider.cs
- AppDomainManager.cs
- SoapFormatter.cs
- Compiler.cs
- WindowsGraphics2.cs