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
- EntityContainerEmitter.cs
- Button.cs
- CloseCryptoHandleRequest.cs
- XmlSchemaNotation.cs
- FormsAuthenticationCredentials.cs
- WorkflowMarkupSerializer.cs
- FontInfo.cs
- FileDocument.cs
- BrowserCapabilitiesCodeGenerator.cs
- SchemaTypeEmitter.cs
- DesignerSerializationOptionsAttribute.cs
- RuntimeArgumentHandle.cs
- LambdaCompiler.Expressions.cs
- SqlCommand.cs
- WindowsFormsSynchronizationContext.cs
- ParameterToken.cs
- MetadataCollection.cs
- WindowsFormsHelpers.cs
- SamlAction.cs
- Soap.cs
- ChildTable.cs
- _Win32.cs
- PersonalizationState.cs
- LogLogRecord.cs
- WindowsFormsHostPropertyMap.cs
- BadImageFormatException.cs
- X509Certificate2.cs
- ListViewInsertedEventArgs.cs
- NativeWrapper.cs
- SqlFileStream.cs
- PageCache.cs
- ConfigurationPermission.cs
- Hyperlink.cs
- NestedContainer.cs
- CachedFontFace.cs
- OrderedEnumerableRowCollection.cs
- ApplicationServiceManager.cs
- WindowsGraphicsCacheManager.cs
- Rotation3DAnimationBase.cs
- Debugger.cs
- PrintingPermission.cs
- ByteStreamMessageEncoder.cs
- ScrollViewer.cs
- FtpCachePolicyElement.cs
- WebContext.cs
- StorageEndPropertyMapping.cs
- XmlNodeChangedEventManager.cs
- ObjectStateEntry.cs
- WebBrowser.cs
- Run.cs
- CodeStatementCollection.cs
- BitmapSource.cs
- Point3D.cs
- OpacityConverter.cs
- Stroke2.cs
- RichTextBoxAutomationPeer.cs
- TextEndOfLine.cs
- TableStyle.cs
- SmtpException.cs
- ModuleBuilderData.cs
- ControlType.cs
- ImmutableObjectAttribute.cs
- ConnectionManagementElement.cs
- ButtonAutomationPeer.cs
- DataGridViewCellStyleChangedEventArgs.cs
- TypeLoadException.cs
- Animatable.cs
- InputLangChangeEvent.cs
- BatchStream.cs
- ReflectionHelper.cs
- propertytag.cs
- RepeatButton.cs
- securitycriticaldataformultiplegetandset.cs
- WmlCommandAdapter.cs
- DoubleMinMaxAggregationOperator.cs
- HwndKeyboardInputProvider.cs
- ValidationEventArgs.cs
- NameValueCollection.cs
- WSHttpTransportSecurityElement.cs
- RenderCapability.cs
- RoleGroupCollection.cs
- OdbcParameterCollection.cs
- SqlTypesSchemaImporter.cs
- ExeContext.cs
- BinaryOperationBinder.cs
- ToolStripItemEventArgs.cs
- _SslStream.cs
- XmlNodeComparer.cs
- PerformanceCountersElement.cs
- TreeIterator.cs
- EventWaitHandleSecurity.cs
- SafeRightsManagementPubHandle.cs
- ToolStripItemTextRenderEventArgs.cs
- UserControlCodeDomTreeGenerator.cs
- GradientStop.cs
- HtmlImage.cs
- WindowsGraphics2.cs
- TextBox.cs
- GridViewCancelEditEventArgs.cs
- WizardStepCollectionEditor.cs