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
- CqlQuery.cs
- DataGridComponentEditor.cs
- Renderer.cs
- RegionInfo.cs
- TrueReadOnlyCollection.cs
- SchemaCompiler.cs
- WebPartCollection.cs
- DataGridLinkButton.cs
- CLSCompliantAttribute.cs
- Merger.cs
- UpdateEventArgs.cs
- ComPlusDiagnosticTraceSchemas.cs
- Font.cs
- ConnectionStringSettings.cs
- WriteableBitmap.cs
- ArgIterator.cs
- WmlValidationSummaryAdapter.cs
- ClonableStack.cs
- TypeDependencyAttribute.cs
- SecurityHelper.cs
- DeviceSpecificDialogCachedState.cs
- StandardTransformFactory.cs
- ScriptRegistrationManager.cs
- StateBag.cs
- _WinHttpWebProxyDataBuilder.cs
- PropVariant.cs
- Message.cs
- CustomAssemblyResolver.cs
- RijndaelManaged.cs
- AsmxEndpointPickerExtension.cs
- SafeNativeMethods.cs
- TypeReference.cs
- RequestQueue.cs
- CallId.cs
- ServiceDefaults.cs
- ValuePattern.cs
- ConnectionOrientedTransportElement.cs
- CaseStatementSlot.cs
- CellParaClient.cs
- FixedFindEngine.cs
- NumberFormatInfo.cs
- WsdlBuildProvider.cs
- PathFigure.cs
- BitmapEffectInput.cs
- IPCCacheManager.cs
- SafeEventLogWriteHandle.cs
- TransformerInfo.cs
- FontFamilyConverter.cs
- MediaContext.cs
- UniformGrid.cs
- XmlException.cs
- DbDataSourceEnumerator.cs
- ContentType.cs
- ConstraintCollection.cs
- SystemWebSectionGroup.cs
- EditorZone.cs
- DesignerCategoryAttribute.cs
- XmlWriterTraceListener.cs
- FileAuthorizationModule.cs
- WindowsFormsEditorServiceHelper.cs
- DetailsViewUpdateEventArgs.cs
- SoapServerMessage.cs
- InternalTypeHelper.cs
- ZipIOLocalFileBlock.cs
- _WinHttpWebProxyDataBuilder.cs
- HttpGetProtocolImporter.cs
- CodeSnippetCompileUnit.cs
- ListSortDescription.cs
- FixedSOMTableCell.cs
- HostElement.cs
- DictionaryEditChange.cs
- SqlDataReaderSmi.cs
- ISCIIEncoding.cs
- TextMessageEncodingBindingElement.cs
- DesignerProperties.cs
- ComboBox.cs
- Permission.cs
- StylusPointPropertyInfo.cs
- SelectionEditingBehavior.cs
- SmtpNetworkElement.cs
- WebBrowser.cs
- CheckBox.cs
- UndoUnit.cs
- RemotingSurrogateSelector.cs
- MetadataArtifactLoaderXmlReaderWrapper.cs
- FontDriver.cs
- KeyInterop.cs
- RadialGradientBrush.cs
- ElementHost.cs
- CatalogPartChrome.cs
- HebrewCalendar.cs
- Encoding.cs
- DataGridViewColumnConverter.cs
- HashHelper.cs
- SQLSingle.cs
- SourceFileBuildProvider.cs
- _HTTPDateParse.cs
- Int32KeyFrameCollection.cs
- UniqueEventHelper.cs
- FontFamilyValueSerializer.cs