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
- XmlWrappingWriter.cs
- ActivityBuilderHelper.cs
- DetailsViewRow.cs
- BindingGroup.cs
- XmlILIndex.cs
- WindowsEditBox.cs
- ExpressionBinding.cs
- RsaKeyIdentifierClause.cs
- mactripleDES.cs
- EmptyControlCollection.cs
- cookieexception.cs
- PnrpPeerResolverBindingElement.cs
- entitydatasourceentitysetnameconverter.cs
- ConfigurationSectionCollection.cs
- UserPreferenceChangingEventArgs.cs
- XmlSchemaAttributeGroup.cs
- BindStream.cs
- DataGridViewSelectedCellCollection.cs
- TreeNodeSelectionProcessor.cs
- PrinterSettings.cs
- GCHandleCookieTable.cs
- LexicalChunk.cs
- _DisconnectOverlappedAsyncResult.cs
- ValidationErrorCollection.cs
- SelectionEditingBehavior.cs
- SafeThemeHandle.cs
- DataShape.cs
- PackageDigitalSignature.cs
- WebConfigurationHost.cs
- RuntimeArgumentHandle.cs
- X509ChainElement.cs
- WebPartEditorOkVerb.cs
- XsltFunctions.cs
- X509Utils.cs
- WebPartCancelEventArgs.cs
- FormViewPagerRow.cs
- RelationshipDetailsRow.cs
- Application.cs
- BinaryFormatter.cs
- NonVisualControlAttribute.cs
- RadioButtonRenderer.cs
- ExtensionElementCollection.cs
- EncodingInfo.cs
- PropertyEmitterBase.cs
- RuntimeComponentFilter.cs
- MetricEntry.cs
- PrincipalPermission.cs
- TextModifierScope.cs
- ValidationErrorEventArgs.cs
- DependencyObjectType.cs
- XmlMtomReader.cs
- Guid.cs
- TogglePattern.cs
- TextElementEnumerator.cs
- XmlSchemas.cs
- DbQueryCommandTree.cs
- DisplayNameAttribute.cs
- HandlerBase.cs
- UserMapPath.cs
- KeyInterop.cs
- XPathQueryGenerator.cs
- HealthMonitoringSection.cs
- OdbcConnection.cs
- RoleBoolean.cs
- ChannelDispatcherCollection.cs
- PagedDataSource.cs
- QfeChecker.cs
- ListBindableAttribute.cs
- PromptEventArgs.cs
- PositiveTimeSpanValidatorAttribute.cs
- CellCreator.cs
- ObjectQueryExecutionPlan.cs
- WebHttpBinding.cs
- NamedPipeWorkerProcess.cs
- DisposableCollectionWrapper.cs
- InternalPolicyElement.cs
- DataColumnMappingCollection.cs
- LambdaCompiler.Logical.cs
- RequestedSignatureDialog.cs
- WpfMemberInvoker.cs
- ResourceDescriptionAttribute.cs
- XmlSchemaElement.cs
- CommandHelper.cs
- StructuredTypeEmitter.cs
- CompositeDataBoundControl.cs
- HostingEnvironmentSection.cs
- AddInBase.cs
- RuntimeCompatibilityAttribute.cs
- RelationshipManager.cs
- ProvideValueServiceProvider.cs
- ScrollBar.cs
- ApplicationFileCodeDomTreeGenerator.cs
- TimeEnumHelper.cs
- ProfileParameter.cs
- RowUpdatedEventArgs.cs
- WCFModelStrings.Designer.cs
- RuntimeArgumentHandle.cs
- WebBrowser.cs
- EtwTrace.cs
- UserPreferenceChangingEventArgs.cs