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
- BamlLocalizerErrorNotifyEventArgs.cs
- input.cs
- RootNamespaceAttribute.cs
- DefaultBindingPropertyAttribute.cs
- ValueProviderWrapper.cs
- ClientRuntimeConfig.cs
- WindowsAuthenticationModule.cs
- WindowInteropHelper.cs
- CornerRadius.cs
- OleDbPermission.cs
- RegisteredArrayDeclaration.cs
- UrlMappingsSection.cs
- KeySplineConverter.cs
- BitmapEffectDrawingContextWalker.cs
- NameTable.cs
- itemelement.cs
- AdornerDecorator.cs
- Matrix3D.cs
- ArrayItemReference.cs
- RenderDataDrawingContext.cs
- BitmapEffectGroup.cs
- InstanceLockLostException.cs
- SocketElement.cs
- Logging.cs
- Container.cs
- ObjRef.cs
- PropertyChangingEventArgs.cs
- Attachment.cs
- WebPartRestoreVerb.cs
- BamlRecords.cs
- PersonalizableAttribute.cs
- BrowserCapabilitiesCompiler.cs
- StringDictionaryWithComparer.cs
- BinaryVersion.cs
- UIntPtr.cs
- DataReceivedEventArgs.cs
- ComAwareEventInfo.cs
- ReaderWriterLockSlim.cs
- ReferenceCountedObject.cs
- TemplateEditingVerb.cs
- DynamicValidatorEventArgs.cs
- Pool.cs
- BuildProvider.cs
- SuppressMergeCheckAttribute.cs
- ModifyActivitiesPropertyDescriptor.cs
- autovalidator.cs
- HitTestResult.cs
- DataGridViewCheckBoxColumn.cs
- LZCodec.cs
- StateMachine.cs
- DockPattern.cs
- ECDiffieHellmanCng.cs
- PageContentCollection.cs
- DropShadowBitmapEffect.cs
- LowerCaseStringConverter.cs
- Wizard.cs
- ImageListImage.cs
- Debugger.cs
- JsonEncodingStreamWrapper.cs
- updateconfighost.cs
- BrowserDefinitionCollection.cs
- Visual3D.cs
- DbMetaDataColumnNames.cs
- cryptoapiTransform.cs
- ObjectConverter.cs
- ClusterSafeNativeMethods.cs
- ConfigurationPropertyCollection.cs
- RightsManagementEncryptedStream.cs
- tibetanshape.cs
- CustomAttributeBuilder.cs
- SectionVisual.cs
- LZCodec.cs
- NavigationProperty.cs
- SmtpAuthenticationManager.cs
- SqlExpander.cs
- Button.cs
- Char.cs
- Normalization.cs
- Point3DCollection.cs
- DataPagerFieldItem.cs
- VBIdentifierTrimConverter.cs
- CodeTryCatchFinallyStatement.cs
- SHA1Managed.cs
- WindowsTab.cs
- HyperLinkColumn.cs
- ConfigurationProperty.cs
- AdornerPresentationContext.cs
- ApplicationContext.cs
- CollectionTypeElement.cs
- CachedBitmap.cs
- TextRangeEditLists.cs
- Errors.cs
- SHA256CryptoServiceProvider.cs
- EventRecordWrittenEventArgs.cs
- TextEditorParagraphs.cs
- InputLanguageEventArgs.cs
- WebColorConverter.cs
- HttpProfileBase.cs
- CodeAttributeArgumentCollection.cs
- ServiceBehaviorElement.cs