Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / clr / src / BCL / System / Security / Policy / PermissionRequestEvidence.cs / 1305376 / PermissionRequestEvidence.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== // PermissionRequestEvidence.cs // //[....] // // Encapsulation of permission request as an evidence type. // namespace System.Security.Policy { using System.Runtime.Remoting; using System; using System.IO; using System.Security.Util; using System.Collections; using System.Runtime.Serialization; using System.Diagnostics.Contracts; [Serializable] [System.Runtime.InteropServices.ComVisible(true)] [Obsolete("Assembly level declarative security is obsolete and is no longer enforced by the CLR by default. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")] public sealed class PermissionRequestEvidence : EvidenceBase { private PermissionSet m_request; private PermissionSet m_optional; private PermissionSet m_denied; // These fields are not used, they are here for serialization compatibility with Whidbey #pragma warning disable 169 private String m_strRequest; private String m_strOptional; private String m_strDenied; #pragma warning restore 169 public PermissionRequestEvidence(PermissionSet request, PermissionSet optional, PermissionSet denied) { if (request == null) m_request = null; else m_request = request.Copy(); if (optional == null) m_optional = null; else m_optional = optional.Copy(); if (denied == null) m_denied = null; else m_denied = denied.Copy(); } public PermissionSet RequestedPermissions { get { return m_request; } } public PermissionSet OptionalPermissions { get { return m_optional; } } public PermissionSet DeniedPermissions { get { return m_denied; } } public override EvidenceBase Clone() { return Copy(); } public PermissionRequestEvidence Copy() { return new PermissionRequestEvidence(m_request, m_optional, m_denied); } internal SecurityElement ToXml() { SecurityElement root = new SecurityElement( "System.Security.Policy.PermissionRequestEvidence" ); // If you hit this assert then most likely you are trying to change the name of this class. // This is ok as long as you change the hard coded string above and change the assert below. Contract.Assert( this.GetType().FullName.Equals( "System.Security.Policy.PermissionRequestEvidence" ), "Class name changed!" ); root.AddAttribute( "version", "1" ); SecurityElement elem; if (m_request != null) { elem = new SecurityElement( "Request" ); elem.AddChild( m_request.ToXml() ); root.AddChild( elem ); } if (m_optional != null) { elem = new SecurityElement( "Optional" ); elem.AddChild( m_optional.ToXml() ); root.AddChild( elem ); } if (m_denied != null) { elem = new SecurityElement( "Denied" ); elem.AddChild( m_denied.ToXml() ); root.AddChild( elem ); } return root; } [System.Security.SecuritySafeCritical] // auto-generated public override String ToString() { return ToXml().ToString(); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== // PermissionRequestEvidence.cs // //[....] // // Encapsulation of permission request as an evidence type. // namespace System.Security.Policy { using System.Runtime.Remoting; using System; using System.IO; using System.Security.Util; using System.Collections; using System.Runtime.Serialization; using System.Diagnostics.Contracts; [Serializable] [System.Runtime.InteropServices.ComVisible(true)] [Obsolete("Assembly level declarative security is obsolete and is no longer enforced by the CLR by default. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")] public sealed class PermissionRequestEvidence : EvidenceBase { private PermissionSet m_request; private PermissionSet m_optional; private PermissionSet m_denied; // These fields are not used, they are here for serialization compatibility with Whidbey #pragma warning disable 169 private String m_strRequest; private String m_strOptional; private String m_strDenied; #pragma warning restore 169 public PermissionRequestEvidence(PermissionSet request, PermissionSet optional, PermissionSet denied) { if (request == null) m_request = null; else m_request = request.Copy(); if (optional == null) m_optional = null; else m_optional = optional.Copy(); if (denied == null) m_denied = null; else m_denied = denied.Copy(); } public PermissionSet RequestedPermissions { get { return m_request; } } public PermissionSet OptionalPermissions { get { return m_optional; } } public PermissionSet DeniedPermissions { get { return m_denied; } } public override EvidenceBase Clone() { return Copy(); } public PermissionRequestEvidence Copy() { return new PermissionRequestEvidence(m_request, m_optional, m_denied); } internal SecurityElement ToXml() { SecurityElement root = new SecurityElement( "System.Security.Policy.PermissionRequestEvidence" ); // If you hit this assert then most likely you are trying to change the name of this class. // This is ok as long as you change the hard coded string above and change the assert below. Contract.Assert( this.GetType().FullName.Equals( "System.Security.Policy.PermissionRequestEvidence" ), "Class name changed!" ); root.AddAttribute( "version", "1" ); SecurityElement elem; if (m_request != null) { elem = new SecurityElement( "Request" ); elem.AddChild( m_request.ToXml() ); root.AddChild( elem ); } if (m_optional != null) { elem = new SecurityElement( "Optional" ); elem.AddChild( m_optional.ToXml() ); root.AddChild( elem ); } if (m_denied != null) { elem = new SecurityElement( "Denied" ); elem.AddChild( m_denied.ToXml() ); root.AddChild( elem ); } return root; } [System.Security.SecuritySafeCritical] // auto-generated public override String ToString() { return ToXml().ToString(); } } } // 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
- InvalidComObjectException.cs
- MultitargetUtil.cs
- XsdDateTime.cs
- WeakReadOnlyCollection.cs
- MainMenu.cs
- RSAOAEPKeyExchangeDeformatter.cs
- ModuleElement.cs
- ObjectDataProvider.cs
- JavascriptXmlWriterWrapper.cs
- HtmlForm.cs
- UnsafePeerToPeerMethods.cs
- ArgumentDesigner.xaml.cs
- EventHandlerService.cs
- Point4D.cs
- StructureChangedEventArgs.cs
- PersonalizableAttribute.cs
- WebScriptMetadataFormatter.cs
- TransformCollection.cs
- SubpageParaClient.cs
- XslTransform.cs
- MenuBase.cs
- InstanceKeyCompleteException.cs
- RegexCode.cs
- SmiContextFactory.cs
- AdapterSwitches.cs
- Matrix.cs
- ComponentResourceKey.cs
- httpserverutility.cs
- AutomationPeer.cs
- MappingMetadataHelper.cs
- RealProxy.cs
- TypeGeneratedEventArgs.cs
- ipaddressinformationcollection.cs
- Rule.cs
- UnsafeNativeMethodsCLR.cs
- SqlDataSourceSelectingEventArgs.cs
- TouchesOverProperty.cs
- Ops.cs
- MethodExpr.cs
- HwndHostAutomationPeer.cs
- ParallelForEach.cs
- odbcmetadatacollectionnames.cs
- ReferenceEqualityComparer.cs
- DataGridView.cs
- GeneralTransform.cs
- NeutralResourcesLanguageAttribute.cs
- Drawing.cs
- COM2PropertyDescriptor.cs
- ApplicationDirectoryMembershipCondition.cs
- DoWorkEventArgs.cs
- TripleDESCryptoServiceProvider.cs
- DataGridViewRowConverter.cs
- OdbcUtils.cs
- AppSettings.cs
- CreateUserErrorEventArgs.cs
- MessageHeaderDescriptionCollection.cs
- HttpBindingExtension.cs
- UniqueEventHelper.cs
- MenuItemBindingCollection.cs
- ItemCollection.cs
- HttpContextBase.cs
- UnsafeNativeMethods.cs
- SettingsPropertyIsReadOnlyException.cs
- HostSecurityManager.cs
- Accessible.cs
- PanelContainerDesigner.cs
- _SafeNetHandles.cs
- TextRangeAdaptor.cs
- ConnectionsZone.cs
- ConnectionPointCookie.cs
- TemplateControlCodeDomTreeGenerator.cs
- TextTreeTextElementNode.cs
- ReflectionTypeLoadException.cs
- TypeBuilder.cs
- PrivateFontCollection.cs
- SystemMulticastIPAddressInformation.cs
- FullTrustAssembliesSection.cs
- GuidelineCollection.cs
- WebReference.cs
- RuntimeTrackingProfile.cs
- ListComponentEditorPage.cs
- httpstaticobjectscollection.cs
- KoreanLunisolarCalendar.cs
- InstallerTypeAttribute.cs
- InstalledFontCollection.cs
- SafeRegistryHandle.cs
- DataGridViewRowHeightInfoPushedEventArgs.cs
- BasicKeyConstraint.cs
- CurrentChangedEventManager.cs
- ImageSource.cs
- InstanceDataCollectionCollection.cs
- cache.cs
- Int32AnimationBase.cs
- OletxVolatileEnlistment.cs
- InterleavedZipPartStream.cs
- RadioButton.cs
- GregorianCalendar.cs
- ListViewTableRow.cs
- EmbeddedMailObject.cs
- SymbolType.cs