Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / 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
- HwndSubclass.cs
- BitHelper.cs
- SourceElementsCollection.cs
- GeometryGroup.cs
- TextHidden.cs
- VScrollProperties.cs
- ProcessInfo.cs
- SafeFileMappingHandle.cs
- ToolBarDesigner.cs
- PermissionSetTriple.cs
- TraceFilter.cs
- indexingfiltermarshaler.cs
- GeneralTransform2DTo3D.cs
- WorkflowRuntime.cs
- ModuleBuilderData.cs
- TabControlCancelEvent.cs
- OrderedDictionaryStateHelper.cs
- GacUtil.cs
- SpeechAudioFormatInfo.cs
- DropTarget.cs
- PresentationSource.cs
- WebDescriptionAttribute.cs
- ApplicationGesture.cs
- SystemIcons.cs
- Exceptions.cs
- ReadOnlyDataSource.cs
- DynamicMetaObjectBinder.cs
- ModifierKeysConverter.cs
- MappingItemCollection.cs
- OciEnlistContext.cs
- DataSourceXmlElementAttribute.cs
- ToolStripProgressBar.cs
- SqlTypesSchemaImporter.cs
- SQLDouble.cs
- XmlElementList.cs
- TextSelectionHighlightLayer.cs
- FileDataSourceCache.cs
- ShortcutKeysEditor.cs
- LeftCellWrapper.cs
- XmlSchemaSimpleContentExtension.cs
- SubMenuStyleCollection.cs
- BitmapEffectOutputConnector.cs
- LockedBorderGlyph.cs
- TypeUsage.cs
- Repeater.cs
- ConnectionModeReader.cs
- GenericNameHandler.cs
- XmlResolver.cs
- PointF.cs
- X509CertificateRecipientServiceCredential.cs
- ForEachDesigner.xaml.cs
- SortQuery.cs
- CallbackValidator.cs
- PhotoPrintingIntent.cs
- ToolStripSplitStackLayout.cs
- WindowsIPAddress.cs
- DataSysAttribute.cs
- Misc.cs
- ConfigsHelper.cs
- AncestorChangedEventArgs.cs
- DbResourceAllocator.cs
- FixedDocumentPaginator.cs
- QueueException.cs
- KeyValueConfigurationCollection.cs
- XsltLibrary.cs
- DetailsViewInsertEventArgs.cs
- OdbcHandle.cs
- NamespaceList.cs
- GZipDecoder.cs
- SystemResources.cs
- CacheSection.cs
- IncomingWebRequestContext.cs
- ConditionalAttribute.cs
- CodeChecksumPragma.cs
- DateTime.cs
- CollectionChangeEventArgs.cs
- _AcceptOverlappedAsyncResult.cs
- Brush.cs
- DeviceContext2.cs
- DbCommandTree.cs
- SqlUserDefinedAggregateAttribute.cs
- HTMLTextWriter.cs
- WorkflowElementDialog.cs
- IndexedGlyphRun.cs
- ReachDocumentReferenceCollectionSerializer.cs
- Rectangle.cs
- CompressedStack.cs
- Validator.cs
- ResourcesGenerator.cs
- DbInsertCommandTree.cs
- MobilePage.cs
- DataBinding.cs
- SystemWebExtensionsSectionGroup.cs
- NativeMethods.cs
- XamlFigureLengthSerializer.cs
- WebChannelFactory.cs
- IDQuery.cs
- PropertyIDSet.cs
- ResourceManagerWrapper.cs
- TraceUtils.cs