Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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
- TypeToken.cs
- ConfigurationConverterBase.cs
- GenericTextProperties.cs
- TreeNodeBindingCollection.cs
- DataControlFieldHeaderCell.cs
- MultiTrigger.cs
- SocketManager.cs
- ConfigurationValues.cs
- ExpressionBindings.cs
- SafeHandles.cs
- OleDbDataReader.cs
- XmlAnyElementAttribute.cs
- Utils.cs
- DrawingAttributeSerializer.cs
- ViewSimplifier.cs
- ImageButton.cs
- FieldBuilder.cs
- BridgeDataRecord.cs
- WebHttpBehavior.cs
- SHA1CryptoServiceProvider.cs
- MaskedTextProvider.cs
- VisualStyleRenderer.cs
- ToolStripPanelCell.cs
- X509Certificate.cs
- DataGridPreparingCellForEditEventArgs.cs
- XmlNamespaceMapping.cs
- SqlConnectionManager.cs
- TcpServerChannel.cs
- OptimalBreakSession.cs
- ProfilePropertyNameValidator.cs
- Item.cs
- LoadWorkflowAsyncResult.cs
- SchemaLookupTable.cs
- WindowsListViewGroupSubsetLink.cs
- StringFreezingAttribute.cs
- DbXmlEnabledProviderManifest.cs
- SubstitutionResponseElement.cs
- IsolatedStorageFilePermission.cs
- ResourcesChangeInfo.cs
- RectangleF.cs
- SqlTransaction.cs
- XmlUrlResolver.cs
- HtmlInputReset.cs
- UInt64Converter.cs
- CodeSubDirectoriesCollection.cs
- WebPartDescriptionCollection.cs
- XmlDataDocument.cs
- ConstraintCollection.cs
- WorkflowEnvironment.cs
- _UriSyntax.cs
- SelectionChangedEventArgs.cs
- JsonSerializer.cs
- Vector3DCollectionConverter.cs
- HTMLTextWriter.cs
- VirtualPathExtension.cs
- webclient.cs
- AutoResetEvent.cs
- Span.cs
- XmlAttributeOverrides.cs
- DefaultParameterValueAttribute.cs
- DesignerForm.cs
- SafeBitVector32.cs
- SparseMemoryStream.cs
- OrderPreservingMergeHelper.cs
- MethodBody.cs
- DetailsViewInsertEventArgs.cs
- SqlNodeAnnotation.cs
- XamlTemplateSerializer.cs
- ToolStripPanelCell.cs
- PropertySegmentSerializer.cs
- WindowsFormsHost.cs
- OracleException.cs
- SubpageParagraph.cs
- VolatileResourceManager.cs
- SmiRequestExecutor.cs
- MachineSettingsSection.cs
- TargetControlTypeAttribute.cs
- IList.cs
- ToolStripPanelRenderEventArgs.cs
- XmlReflectionMember.cs
- MultiBindingExpression.cs
- Marshal.cs
- MsmqOutputChannel.cs
- ComboBoxRenderer.cs
- ValueTypeFixupInfo.cs
- MailMessage.cs
- RegistrySecurity.cs
- XmlUTF8TextWriter.cs
- ValidationResult.cs
- MultiTrigger.cs
- TypeElement.cs
- DataGridViewCellStateChangedEventArgs.cs
- LogLogRecordHeader.cs
- LinkConverter.cs
- EmptyEnumerator.cs
- SQLMoney.cs
- MultiSelectRootGridEntry.cs
- DifferencingCollection.cs
- SystemParameters.cs
- TimeSpan.cs