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
- SimpleType.cs
- XamlTypeMapper.cs
- DataGridViewDataConnection.cs
- GridViewAutomationPeer.cs
- XmlHierarchicalDataSourceView.cs
- MetadataUtilsSmi.cs
- PointLightBase.cs
- ButtonBase.cs
- DetailsView.cs
- IDispatchConstantAttribute.cs
- DeleteWorkflowOwnerCommand.cs
- PointCollection.cs
- FontStyleConverter.cs
- MimeTextImporter.cs
- FixedDocumentSequencePaginator.cs
- Util.cs
- ImageButton.cs
- DataIdProcessor.cs
- sqlpipe.cs
- ObjectMemberMapping.cs
- FunctionNode.cs
- SafeBitVector32.cs
- Clipboard.cs
- Atom10FormatterFactory.cs
- TraceSource.cs
- UITypeEditor.cs
- HtmlWindowCollection.cs
- EventLogQuery.cs
- NavigationPropertyEmitter.cs
- SqlNotificationRequest.cs
- MobileUserControlDesigner.cs
- DataTransferEventArgs.cs
- CLSCompliantAttribute.cs
- TabControlEvent.cs
- remotingproxy.cs
- _Events.cs
- EntryWrittenEventArgs.cs
- ObjectTag.cs
- IsolatedStorageFileStream.cs
- HtmlControl.cs
- CompilationSection.cs
- CopyOfAction.cs
- CodeArgumentReferenceExpression.cs
- AsymmetricKeyExchangeDeformatter.cs
- Slider.cs
- ExpressionBuilder.cs
- SupportedAddressingMode.cs
- PathFigureCollection.cs
- ElementFactory.cs
- altserialization.cs
- XPathParser.cs
- ResourceExpression.cs
- WindowVisualStateTracker.cs
- ExpandSegment.cs
- PropertyGridView.cs
- _SslState.cs
- CultureInfoConverter.cs
- IsolatedStorageSecurityState.cs
- Timer.cs
- ConfigViewGenerator.cs
- SessionSwitchEventArgs.cs
- ElementFactory.cs
- DataGridView.cs
- WebPartConnectVerb.cs
- BasicExpandProvider.cs
- SecurityHeaderLayout.cs
- BitSet.cs
- XmlnsDictionary.cs
- BitmapEffectDrawingContextWalker.cs
- nulltextcontainer.cs
- GridPattern.cs
- AccessKeyManager.cs
- sqlstateclientmanager.cs
- ComboBox.cs
- XMLUtil.cs
- SmtpNegotiateAuthenticationModule.cs
- LogicalExpr.cs
- ControlCollection.cs
- TableCell.cs
- WebPartZone.cs
- ClientSettings.cs
- ExtendedPropertyDescriptor.cs
- BaseResourcesBuildProvider.cs
- AsyncResult.cs
- HtmlInputButton.cs
- DataGridRowsPresenter.cs
- ContextQuery.cs
- _NegoState.cs
- WebHttpElement.cs
- TabControlCancelEvent.cs
- RenderOptions.cs
- PathNode.cs
- ListControl.cs
- FixUp.cs
- ExceptionUtil.cs
- ZipIOLocalFileDataDescriptor.cs
- XamlSerializerUtil.cs
- SplashScreen.cs
- Int32CollectionConverter.cs
- DrawingGroup.cs