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
- ImageListUtils.cs
- mediaeventargs.cs
- SchemaType.cs
- UriTemplateMatchException.cs
- X509CertificateCollection.cs
- RuleElement.cs
- ResourcePool.cs
- InputReferenceExpression.cs
- DataGridCell.cs
- NonSerializedAttribute.cs
- EventlogProvider.cs
- MinMaxParagraphWidth.cs
- DropTarget.cs
- RsaEndpointIdentity.cs
- ProcessModelSection.cs
- xml.cs
- Base64Stream.cs
- CornerRadiusConverter.cs
- ManipulationDeltaEventArgs.cs
- DataServices.cs
- MimeTextImporter.cs
- BinaryParser.cs
- LayoutEditorPart.cs
- ReplacementText.cs
- TrayIconDesigner.cs
- FileUpload.cs
- ConfigPathUtility.cs
- VariableExpressionConverter.cs
- ViewBox.cs
- InvokeHandlers.cs
- MappingItemCollection.cs
- OSFeature.cs
- COM2ICategorizePropertiesHandler.cs
- ZipIOExtraFieldElement.cs
- NavigatorOutput.cs
- processwaithandle.cs
- ClientSponsor.cs
- JsonReader.cs
- CodeConditionStatement.cs
- DataGridDefaultColumnWidthTypeConverter.cs
- MobileRedirect.cs
- DateTimeOffsetConverter.cs
- XmlAttributeCollection.cs
- DiscoveryEndpointElement.cs
- RuleSetDialog.cs
- ImageAttributes.cs
- X509Certificate2Collection.cs
- WriterOutput.cs
- XPathNavigator.cs
- SlotInfo.cs
- BooleanFunctions.cs
- SQLMembershipProvider.cs
- ThaiBuddhistCalendar.cs
- ObjectSpanRewriter.cs
- DbParameterHelper.cs
- MsmqHostedTransportConfiguration.cs
- Geometry.cs
- ContractHandle.cs
- UdpSocket.cs
- TrustManagerPromptUI.cs
- Matrix3DStack.cs
- DatagridviewDisplayedBandsData.cs
- SmtpClient.cs
- Point3DCollectionConverter.cs
- ChannelBinding.cs
- SoapEnumAttribute.cs
- Guid.cs
- PageAsyncTaskManager.cs
- SmiEventSink.cs
- SqlMetaData.cs
- DrawTreeNodeEventArgs.cs
- EdmRelationshipRoleAttribute.cs
- IdnElement.cs
- ServiceDesigner.cs
- RectAnimationBase.cs
- BaseDataBoundControlDesigner.cs
- DbProviderFactories.cs
- PreservationFileWriter.cs
- TimeSpanMinutesConverter.cs
- StylusCaptureWithinProperty.cs
- TextServicesDisplayAttribute.cs
- DataContract.cs
- HostedBindingBehavior.cs
- ConnectorMovedEventArgs.cs
- CultureSpecificCharacterBufferRange.cs
- AutomationIdentifierGuids.cs
- AttributeData.cs
- Border.cs
- AddInSegmentDirectoryNotFoundException.cs
- ProjectedSlot.cs
- ReflectionTypeLoadException.cs
- followingsibling.cs
- PeerName.cs
- DataGridViewButtonCell.cs
- OleDbDataAdapter.cs
- DependencyProperty.cs
- TextParagraphCache.cs
- UInt32.cs
- PropertyRef.cs
- BaseTemplateCodeDomTreeGenerator.cs