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
- DbBuffer.cs
- TraceRecords.cs
- RegistryKey.cs
- DefaultAssemblyResolver.cs
- UnsafeNativeMethods.cs
- SecurityTokenResolver.cs
- NotificationContext.cs
- Point3DAnimationUsingKeyFrames.cs
- Point3DCollection.cs
- FlowDocumentFormatter.cs
- StorageAssociationSetMapping.cs
- GlyphsSerializer.cs
- DataGridComboBoxColumn.cs
- QfeChecker.cs
- XmlHierarchicalDataSourceView.cs
- SchemaManager.cs
- HtmlWindow.cs
- pingexception.cs
- AnimatedTypeHelpers.cs
- ZoneLinkButton.cs
- UpdatePanelTriggerCollection.cs
- AttachmentService.cs
- Timer.cs
- OutputWindow.cs
- DrawItemEvent.cs
- PropertyIDSet.cs
- BasicHttpBindingElement.cs
- XmlSchemaAttribute.cs
- TextFormatterContext.cs
- TraceSection.cs
- TextTreeExtractElementUndoUnit.cs
- TransformConverter.cs
- XmlC14NWriter.cs
- DataGridViewTextBoxCell.cs
- PrePrepareMethodAttribute.cs
- GridItemCollection.cs
- FamilyMapCollection.cs
- RuntimeHandles.cs
- PasswordBox.cs
- WorkflowRuntimeServiceElementCollection.cs
- StylusShape.cs
- SrgsNameValueTag.cs
- DataServiceRequest.cs
- MessageQueue.cs
- TextWriterTraceListener.cs
- _NetRes.cs
- XmlSortKey.cs
- ViewBox.cs
- MenuItem.cs
- AuthorizationRule.cs
- securestring.cs
- DesignBindingPicker.cs
- ColumnHeader.cs
- Rfc2898DeriveBytes.cs
- EventSinkActivityDesigner.cs
- CssStyleCollection.cs
- HijriCalendar.cs
- RegexMatch.cs
- GlyphCache.cs
- DataGridViewColumnDesigner.cs
- DurableInstance.cs
- StringWriter.cs
- SafePEFileHandle.cs
- XamlLoadErrorInfo.cs
- PerformanceCounterPermissionEntry.cs
- HwndHostAutomationPeer.cs
- ToolStripDropDownClosedEventArgs.cs
- HebrewNumber.cs
- DesignerCalendarAdapter.cs
- URLMembershipCondition.cs
- ListenerPerfCounters.cs
- InstanceNotFoundException.cs
- DiagnosticEventProvider.cs
- _AcceptOverlappedAsyncResult.cs
- EmptyEnumerable.cs
- updatecommandorderer.cs
- DSASignatureFormatter.cs
- CodeChecksumPragma.cs
- ListViewUpdateEventArgs.cs
- ManifestSignatureInformation.cs
- ToolTip.cs
- CallbackHandler.cs
- WinCategoryAttribute.cs
- WebConfigurationHostFileChange.cs
- WebPart.cs
- BitSet.cs
- TableDesigner.cs
- ByteStreamGeometryContext.cs
- HatchBrush.cs
- Baml2006KeyRecord.cs
- PrintController.cs
- TypeSemantics.cs
- GroupItemAutomationPeer.cs
- TraceSwitch.cs
- WSSecurityOneDotOneReceiveSecurityHeader.cs
- ParseHttpDate.cs
- LinkedList.cs
- ApplicationTrust.cs
- Rect3D.cs
- AdapterUtil.cs