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
- Bezier.cs
- NodeFunctions.cs
- PlatformNotSupportedException.cs
- SeparatorAutomationPeer.cs
- ReadOnlyDictionary.cs
- SafeReadContext.cs
- TreeViewEvent.cs
- SvcFileManager.cs
- JournalEntryStack.cs
- ErrorWebPart.cs
- Zone.cs
- ComponentChangingEvent.cs
- TaskFormBase.cs
- ServiceParser.cs
- SeparatorAutomationPeer.cs
- PartitionedDataSource.cs
- XmlSchemaInferenceException.cs
- LinqDataView.cs
- Image.cs
- PlanCompilerUtil.cs
- HtmlSelectionListAdapter.cs
- TypefaceCollection.cs
- TdsParserStateObject.cs
- ScrollContentPresenter.cs
- filewebrequest.cs
- View.cs
- StyleCollection.cs
- ContentPosition.cs
- CompiledXpathExpr.cs
- GenerateScriptTypeAttribute.cs
- StateBag.cs
- TaskFormBase.cs
- Subtree.cs
- ImageFormat.cs
- DeferredSelectedIndexReference.cs
- KeyValueInternalCollection.cs
- DateTimeConverter.cs
- PrinterSettings.cs
- UrlAuthorizationModule.cs
- OutputCache.cs
- GatewayDefinition.cs
- WebPartAuthorizationEventArgs.cs
- BinaryNode.cs
- DeviceContext2.cs
- AssemblyUtil.cs
- FixedDocument.cs
- EmptyCollection.cs
- HtmlWindowCollection.cs
- __Filters.cs
- TextWriter.cs
- RelationshipEnd.cs
- FileChangesMonitor.cs
- WebPartEditorApplyVerb.cs
- LayoutDump.cs
- ProtocolReflector.cs
- BitFlagsGenerator.cs
- RoleManagerEventArgs.cs
- WsdlInspector.cs
- Single.cs
- ConsumerConnectionPoint.cs
- ExponentialEase.cs
- FormsAuthenticationConfiguration.cs
- XmlCDATASection.cs
- OperationContractAttribute.cs
- DataSourceProvider.cs
- DataGridViewComboBoxColumn.cs
- BoundingRectTracker.cs
- SerializationInfo.cs
- SafeSecurityHelper.cs
- CodeGenHelper.cs
- XmlElement.cs
- HwndHostAutomationPeer.cs
- ServiceDebugElement.cs
- ServiceParser.cs
- SystemEvents.cs
- CodeSnippetStatement.cs
- CustomWebEventKey.cs
- SqlDataSourceCommandEventArgs.cs
- Debug.cs
- ProfessionalColors.cs
- PersonalizationDictionary.cs
- BaseDataBoundControl.cs
- LOSFormatter.cs
- StopStoryboard.cs
- FileDataSourceCache.cs
- ReadOnlyCollection.cs
- UnsafeNativeMethods.cs
- ClientSettings.cs
- ResourceExpression.cs
- DataErrorValidationRule.cs
- LocationSectionRecord.cs
- DrawTreeNodeEventArgs.cs
- BooleanConverter.cs
- CrossContextChannel.cs
- NativeWindow.cs
- CacheDependency.cs
- Opcode.cs
- SafeHandle.cs
- SystemUnicastIPAddressInformation.cs
- ModelPropertyDescriptor.cs