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
- BulletedList.cs
- ToolStripSeparatorRenderEventArgs.cs
- IndexExpression.cs
- TextDecorationCollection.cs
- _ProxyChain.cs
- RepeatBehaviorConverter.cs
- LinqDataView.cs
- XmlDomTextWriter.cs
- NameScope.cs
- WebExceptionStatus.cs
- VideoDrawing.cs
- RtfNavigator.cs
- ProxyElement.cs
- SessionStateContainer.cs
- OutputCacheProfileCollection.cs
- SiteMapSection.cs
- SerializationInfo.cs
- BookmarkEventArgs.cs
- OleDbCommandBuilder.cs
- ILGenerator.cs
- SinglePageViewer.cs
- BindingMAnagerBase.cs
- GridErrorDlg.cs
- ClientTargetSection.cs
- DependencyObjectProvider.cs
- ObjectRef.cs
- DataSourceNameHandler.cs
- ResourceCategoryAttribute.cs
- TextFormattingConverter.cs
- WrapPanel.cs
- ComponentEvent.cs
- HasRunnableWorkflowEvent.cs
- FlatButtonAppearance.cs
- TreeNodeStyle.cs
- ReflectionHelper.cs
- SimpleHandlerBuildProvider.cs
- FileUtil.cs
- wgx_commands.cs
- isolationinterop.cs
- EventItfInfo.cs
- GrammarBuilderWildcard.cs
- EventSinkHelperWriter.cs
- PrefixQName.cs
- httpapplicationstate.cs
- _UncName.cs
- XmlSchemaProviderAttribute.cs
- ColorTranslator.cs
- WorkflowIdleElement.cs
- AppearanceEditorPart.cs
- CultureTable.cs
- RouteCollection.cs
- SingleAnimationBase.cs
- PeerObject.cs
- GridViewPageEventArgs.cs
- NumberAction.cs
- XmlSchemaComplexContentExtension.cs
- MimeBasePart.cs
- ToolboxComponentsCreatedEventArgs.cs
- BitmapSizeOptions.cs
- EventLogEntryCollection.cs
- WebPartMenu.cs
- HttpCachePolicyElement.cs
- RuntimeResourceSet.cs
- SafeProcessHandle.cs
- CultureTableRecord.cs
- MessageBox.cs
- SemaphoreFullException.cs
- _ScatterGatherBuffers.cs
- ChainOfDependencies.cs
- SqlMetaData.cs
- ScriptingWebServicesSectionGroup.cs
- AppDomainFactory.cs
- UpdateRecord.cs
- securitycriticaldata.cs
- DataGridViewImageCell.cs
- ControlCodeDomSerializer.cs
- SByte.cs
- RC2.cs
- TimeManager.cs
- GridViewDeletedEventArgs.cs
- MutableAssemblyCacheEntry.cs
- ThreadAttributes.cs
- ObjectView.cs
- AnimationStorage.cs
- ModelPropertyImpl.cs
- ActivityCodeGenerator.cs
- TypeToken.cs
- FusionWrap.cs
- MaxMessageSizeStream.cs
- WorkflowApplicationCompletedException.cs
- OutputCacheSection.cs
- SecondaryIndex.cs
- GregorianCalendarHelper.cs
- KnowledgeBase.cs
- Translator.cs
- InstanceLockQueryResult.cs
- ContentTypeSettingDispatchMessageFormatter.cs
- ClientUtils.cs
- Matrix3D.cs
- RegisteredScript.cs