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
- DesigntimeLicenseContext.cs
- WSDualHttpBinding.cs
- SqlClientPermission.cs
- Queue.cs
- SyntaxCheck.cs
- FullTextLine.cs
- PolyBezierSegment.cs
- XmlSchemaElement.cs
- cryptoapiTransform.cs
- ResXResourceWriter.cs
- SegmentInfo.cs
- MarginsConverter.cs
- XmlSchemaImporter.cs
- IndexedString.cs
- TextEncodedRawTextWriter.cs
- DataKeyArray.cs
- SessionStateContainer.cs
- XPathPatternBuilder.cs
- InfoCardCryptoHelper.cs
- ScrollEvent.cs
- XmlSchemaInferenceException.cs
- IisTraceWebEventProvider.cs
- DigitalSignatureProvider.cs
- PerfService.cs
- GridViewRowCollection.cs
- StrongNameUtility.cs
- ReflectPropertyDescriptor.cs
- HybridDictionary.cs
- NativeMethods.cs
- BufferedGraphics.cs
- PropertyManager.cs
- GPPOINTF.cs
- PersonalizationState.cs
- DataTemplateKey.cs
- BooleanFacetDescriptionElement.cs
- ArrayTypeMismatchException.cs
- TrustLevelCollection.cs
- FormViewUpdateEventArgs.cs
- SqlDataSourceFilteringEventArgs.cs
- XmlSchemaFacet.cs
- UseLicense.cs
- InfoCardRSAOAEPKeyExchangeFormatter.cs
- TypeDelegator.cs
- Select.cs
- EnumerableRowCollectionExtensions.cs
- RowUpdatedEventArgs.cs
- Int64Storage.cs
- FileInfo.cs
- CodeNamespace.cs
- TickBar.cs
- SafeThemeHandle.cs
- BitmapMetadataBlob.cs
- TabItem.cs
- PropagatorResult.cs
- CounterCreationDataCollection.cs
- ToolBarTray.cs
- GestureRecognizer.cs
- ModuleBuilderData.cs
- PathGradientBrush.cs
- SystemIPv4InterfaceProperties.cs
- WebPartEditorOkVerb.cs
- PrimaryKeyTypeConverter.cs
- SubMenuStyleCollection.cs
- FormView.cs
- EventArgs.cs
- LabelLiteral.cs
- TimeZone.cs
- Main.cs
- CookielessHelper.cs
- HwndProxyElementProvider.cs
- DBNull.cs
- Ray3DHitTestResult.cs
- SqlNode.cs
- BinarySecretKeyIdentifierClause.cs
- ReflectPropertyDescriptor.cs
- PropertyDescriptorGridEntry.cs
- EncoderParameter.cs
- ContentDesigner.cs
- BatchStream.cs
- RenderOptions.cs
- DbParameterCollection.cs
- FormViewDeleteEventArgs.cs
- DataContractJsonSerializerOperationFormatter.cs
- SQLBinary.cs
- HtmlInputText.cs
- GlyphInfoList.cs
- SafeCryptoHandles.cs
- ConnectionPointCookie.cs
- DataRelation.cs
- EntityCommandDefinition.cs
- Code.cs
- SymDocumentType.cs
- DecoderReplacementFallback.cs
- FormattedText.cs
- BaseValidator.cs
- MissingMemberException.cs
- InvalidComObjectException.cs
- ASCIIEncoding.cs
- SafeFileMapViewHandle.cs
- TouchDevice.cs