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
- MILUtilities.cs
- WebHttpBindingCollectionElement.cs
- MessageCredentialType.cs
- MiniMapControl.xaml.cs
- SolidColorBrush.cs
- Assert.cs
- ChannelFactoryBase.cs
- WinInetCache.cs
- PipelineModuleStepContainer.cs
- ScriptResourceHandler.cs
- DataGridAutomationPeer.cs
- Command.cs
- ReflectTypeDescriptionProvider.cs
- TabletDevice.cs
- ToolBarPanel.cs
- LinearGradientBrush.cs
- CalendarDateChangedEventArgs.cs
- CompositeControl.cs
- TemplateBindingExtensionConverter.cs
- Pair.cs
- Range.cs
- followingsibling.cs
- UrlPropertyAttribute.cs
- RegexBoyerMoore.cs
- ObjectQueryProvider.cs
- _DigestClient.cs
- Vector3DValueSerializer.cs
- Drawing.cs
- VSWCFServiceContractGenerator.cs
- complextypematerializer.cs
- BrowserInteropHelper.cs
- FindRequestContext.cs
- HtmlControl.cs
- Propagator.ExtentPlaceholderCreator.cs
- CharKeyFrameCollection.cs
- CompressedStack.cs
- XmlSchemas.cs
- ActivityWithResultConverter.cs
- XmlProcessingInstruction.cs
- Int32.cs
- StreamSecurityUpgradeAcceptorAsyncResult.cs
- GenericTypeParameterConverter.cs
- _CacheStreams.cs
- QueryExpr.cs
- HtmlInputReset.cs
- DrawToolTipEventArgs.cs
- XPathBuilder.cs
- TextTreeTextNode.cs
- Exceptions.cs
- _FtpControlStream.cs
- BinaryMethodMessage.cs
- Errors.cs
- ISAPIRuntime.cs
- ViewStateException.cs
- FamilyMap.cs
- JobCollate.cs
- Mappings.cs
- XmlAttributeCollection.cs
- DataGrid.cs
- HTTPNotFoundHandler.cs
- Automation.cs
- AnimationClock.cs
- CodeParameterDeclarationExpression.cs
- WorkflowQueue.cs
- StateWorkerRequest.cs
- CreateUserWizard.cs
- mediaclock.cs
- CodeDirectiveCollection.cs
- JsonServiceDocumentSerializer.cs
- SecurityElement.cs
- DelimitedListTraceListener.cs
- WebPartDeleteVerb.cs
- Processor.cs
- PointKeyFrameCollection.cs
- XmlILCommand.cs
- StyleModeStack.cs
- SafeProcessHandle.cs
- StickyNoteHelper.cs
- ReadOnlyDictionary.cs
- ArrayConverter.cs
- AssemblyBuilder.cs
- CodeDOMUtility.cs
- RuleRef.cs
- DefaultWorkflowSchedulerService.cs
- ReadOnlyAttribute.cs
- UserControl.cs
- WindowsRichEditRange.cs
- CharacterBuffer.cs
- TypeToStringValueConverter.cs
- DotNetATv1WindowsLogEntrySerializer.cs
- Stream.cs
- SmiMetaDataProperty.cs
- DbQueryCommandTree.cs
- ISAPIWorkerRequest.cs
- ClientScriptManagerWrapper.cs
- TextLineBreak.cs
- FolderLevelBuildProvider.cs
- DataErrorValidationRule.cs
- CultureInfo.cs
- KeyFrames.cs