Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / 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
- GridPatternIdentifiers.cs
- Int16AnimationBase.cs
- FileVersionInfo.cs
- Calendar.cs
- CursorConverter.cs
- SecurityDocument.cs
- DoubleLinkListEnumerator.cs
- ViewValidator.cs
- DataViewManager.cs
- RichTextBoxAutomationPeer.cs
- DifferencingCollection.cs
- AddInSegmentDirectoryNotFoundException.cs
- DnsEndPoint.cs
- tooltip.cs
- ZipIOBlockManager.cs
- TrackingAnnotationCollection.cs
- TogglePattern.cs
- ColorBuilder.cs
- COM2IManagedPerPropertyBrowsingHandler.cs
- ProxyDataContractResolver.cs
- CoreSwitches.cs
- InstanceOwnerQueryResult.cs
- TextServicesProperty.cs
- odbcmetadatafactory.cs
- BuildProviderUtils.cs
- ResolveNameEventArgs.cs
- PhysicalOps.cs
- OracleParameter.cs
- RecommendedAsConfigurableAttribute.cs
- InvokePattern.cs
- XmlSchemaObject.cs
- DispatcherExceptionFilterEventArgs.cs
- TimeoutConverter.cs
- IgnoreFlushAndCloseStream.cs
- HashCodeCombiner.cs
- RC2CryptoServiceProvider.cs
- DriveNotFoundException.cs
- SHA256Managed.cs
- TokenBasedSetEnumerator.cs
- ToolStripDropDown.cs
- HoistedLocals.cs
- EndpointIdentityConverter.cs
- SchemeSettingElement.cs
- WorkflowViewService.cs
- NetworkInterface.cs
- NetworkInformationPermission.cs
- TemplateManager.cs
- TextServicesManager.cs
- ContentPlaceHolder.cs
- Point4DValueSerializer.cs
- GenericTypeParameterBuilder.cs
- ProxyWebPartManager.cs
- WebPartChrome.cs
- DesignBindingPropertyDescriptor.cs
- CapabilitiesSection.cs
- Pair.cs
- DataRecordObjectView.cs
- WebPartDisplayMode.cs
- OdbcConnection.cs
- MdiWindowListItemConverter.cs
- ObjectContextServiceProvider.cs
- Grammar.cs
- CatalogPartChrome.cs
- PasswordDeriveBytes.cs
- AsymmetricSignatureFormatter.cs
- ImportCatalogPart.cs
- CodeIdentifier.cs
- WeakEventManager.cs
- TextDecorationCollection.cs
- WindowsSecurityTokenAuthenticator.cs
- BookmarkManager.cs
- ObjectNavigationPropertyMapping.cs
- DecimalAnimationUsingKeyFrames.cs
- SpAudioStreamWrapper.cs
- loginstatus.cs
- Repeater.cs
- EditCommandColumn.cs
- StyleCollection.cs
- NavigatorInput.cs
- StrongNameKeyPair.cs
- DataSourceProvider.cs
- DocumentOrderComparer.cs
- DoubleLinkList.cs
- HtmlInputReset.cs
- XsltLibrary.cs
- HtmlLabelAdapter.cs
- GetCertificateRequest.cs
- AutoResetEvent.cs
- ComContractElement.cs
- ExtensionSimplifierMarkupObject.cs
- KoreanLunisolarCalendar.cs
- Helpers.cs
- SqlReorderer.cs
- NotConverter.cs
- ItemsControlAutomationPeer.cs
- CqlIdentifiers.cs
- WebPartManagerInternals.cs
- XPathMultyIterator.cs
- VisualTreeUtils.cs
- Attributes.cs