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
- DateTimePicker.cs
- EndpointIdentityExtension.cs
- WebEventTraceProvider.cs
- SelectionEditingBehavior.cs
- ObjectStateFormatter.cs
- XmlSerializerSection.cs
- RowToParametersTransformer.cs
- ExpressionConverter.cs
- OperationContext.cs
- PropertyInformation.cs
- TextParagraph.cs
- HtmlForm.cs
- SessionState.cs
- XmlEntityReference.cs
- HttpCacheVary.cs
- OracleConnectionStringBuilder.cs
- LayoutTableCell.cs
- BaseTemplateParser.cs
- BufferedGraphics.cs
- CompiledIdentityConstraint.cs
- SoapDocumentServiceAttribute.cs
- DispatchWrapper.cs
- WebPartEditorApplyVerb.cs
- StyleTypedPropertyAttribute.cs
- TreeNodeCollection.cs
- LoadMessageLogger.cs
- ScriptResourceAttribute.cs
- CertificateManager.cs
- ListBox.cs
- IApplicationTrustManager.cs
- PersonalizationProviderCollection.cs
- TailCallAnalyzer.cs
- ReaderWriterLock.cs
- HtmlContainerControl.cs
- EntityException.cs
- SafeCryptContextHandle.cs
- SortFieldComparer.cs
- WorkflowMessageEventHandler.cs
- TreeViewImageKeyConverter.cs
- RoleManagerSection.cs
- EdmFunction.cs
- MetadataCollection.cs
- InputMethodStateChangeEventArgs.cs
- ProfileGroupSettingsCollection.cs
- Manipulation.cs
- WebEncodingValidatorAttribute.cs
- QueryPageSettingsEventArgs.cs
- FeatureSupport.cs
- Win32.cs
- WebPartDeleteVerb.cs
- DrawingAttributes.cs
- LockCookie.cs
- Compiler.cs
- XmlBinaryWriterSession.cs
- SoapMessage.cs
- elementinformation.cs
- ConsumerConnectionPoint.cs
- DetailsViewPageEventArgs.cs
- FormsAuthenticationUserCollection.cs
- MarkupProperty.cs
- RegexGroup.cs
- SafeCryptContextHandle.cs
- ContextMenu.cs
- RouteValueDictionary.cs
- PatternMatcher.cs
- Drawing.cs
- EncoderParameters.cs
- EndpointConfigContainer.cs
- LicenseException.cs
- returneventsaver.cs
- HGlobalSafeHandle.cs
- ProcessStartInfo.cs
- ReferencedAssembly.cs
- FormViewModeEventArgs.cs
- AttributeParameterInfo.cs
- Pts.cs
- XmlQueryType.cs
- DateTimeConverter2.cs
- GetParentChain.cs
- LayoutDump.cs
- Attributes.cs
- FontCollection.cs
- EntityDataSourceContainerNameConverter.cs
- TreeViewItem.cs
- OpenTypeLayout.cs
- ProxyAttribute.cs
- PageThemeParser.cs
- HttpStreamMessage.cs
- ImplicitInputBrush.cs
- TextSelection.cs
- WebChannelFactory.cs
- OrthographicCamera.cs
- SessionStateContainer.cs
- CacheSection.cs
- HttpProfileBase.cs
- SqlUnionizer.cs
- DataList.cs
- StaticResourceExtension.cs
- GridProviderWrapper.cs
- ObjectResult.cs