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
- MD5CryptoServiceProvider.cs
- Mutex.cs
- ContentType.cs
- DataGrid.cs
- Types.cs
- FaultCallbackWrapper.cs
- VBIdentifierNameEditor.cs
- AutomationPatternInfo.cs
- Int64Converter.cs
- Color.cs
- LineGeometry.cs
- XmlSchemaDatatype.cs
- LocalClientSecuritySettingsElement.cs
- ClosureBinding.cs
- ProfessionalColors.cs
- LogicalExpr.cs
- XmlTypeMapping.cs
- BaseInfoTable.cs
- CurrencyManager.cs
- SQLSingle.cs
- ToolStripContainerDesigner.cs
- TypeSystem.cs
- FrugalList.cs
- SafeCoTaskMem.cs
- XamlWriter.cs
- BrowserCapabilitiesFactoryBase.cs
- StorageEndPropertyMapping.cs
- SystemGatewayIPAddressInformation.cs
- Rect3DValueSerializer.cs
- ValidationSummary.cs
- HtmlTableRow.cs
- XmlCDATASection.cs
- XmlSchemaImporter.cs
- InternalSafeNativeMethods.cs
- ToolStripItemImageRenderEventArgs.cs
- TextWriterTraceListener.cs
- Size3DValueSerializer.cs
- QilList.cs
- SiteMapHierarchicalDataSourceView.cs
- ServiceDescriptionReflector.cs
- ImageConverter.cs
- HTTP_SERVICE_CONFIG_URLACL_PARAM.cs
- TabControl.cs
- FileSecurity.cs
- Pts.cs
- QuaternionIndependentAnimationStorage.cs
- MatrixAnimationUsingKeyFrames.cs
- Volatile.cs
- UIElement.cs
- ToolStripSystemRenderer.cs
- CrossContextChannel.cs
- EtwTrace.cs
- TraceInternal.cs
- SqlProviderManifest.cs
- PathGeometry.cs
- ColumnReorderedEventArgs.cs
- DoubleLinkList.cs
- StateInitialization.cs
- WindowsIdentity.cs
- SingleConverter.cs
- CodeSnippetTypeMember.cs
- Publisher.cs
- Imaging.cs
- Choices.cs
- CompilationLock.cs
- AutoCompleteStringCollection.cs
- WebPartDeleteVerb.cs
- UniformGrid.cs
- DataControlFieldCollection.cs
- PointCollectionConverter.cs
- DataTemplateKey.cs
- DataGridViewCheckBoxColumn.cs
- HandleRef.cs
- TextHidden.cs
- SqlHelper.cs
- GlobalizationAssembly.cs
- FormViewInsertEventArgs.cs
- StrongTypingException.cs
- ContextMarshalException.cs
- SrgsElement.cs
- DbProviderSpecificTypePropertyAttribute.cs
- ColorTransform.cs
- DependencyObjectPropertyDescriptor.cs
- TextEditor.cs
- DataGridViewColumnHeaderCell.cs
- ArgumentNullException.cs
- OleServicesContext.cs
- TrackBarRenderer.cs
- List.cs
- PropertyToken.cs
- IdnElement.cs
- XmlRawWriter.cs
- TextTreeText.cs
- Message.cs
- RoleGroupCollectionEditor.cs
- WebPartConnectionsConfigureVerb.cs
- DaylightTime.cs
- NodeLabelEditEvent.cs
- SmtpReplyReader.cs
- NotifyParentPropertyAttribute.cs