Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Shared / MS / Internal / Permissions / InternalPermissions.cs / 1 / InternalPermissions.cs
//---------------------------------------------------------------------------- // //// Copyright (C) Microsoft Corporation. All rights reserved. // // // // Description: Internal Permissions. // These are classes for permissions that will be asserted/demanded internally. // But will be granted in full-trust. // Only internal avalon code will assert these permissions. // // Using them allows the following: // We can have very specific targeted asserts. So for example instead of // a blanket assert for Unmanaged code instead we can have very granular permissiosn. // // They are still available by default in full-trust. // // Currently the only way to detect User-Initiated actions is for commands. // So by associating a custom permisison with a command we can very tightly scope // the set of operations allowed. // // History: // 02/28/05 : [....] - Created //--------------------------------------------------------------------------- using System; using System.Text; using System.Security; using System.Security.Permissions; using System.Windows; #if WINDOWS_BASE using MS.Internal.WindowsBase; #endif namespace MS.Internal.Permissions { // // derive all InternalPermissions from this. // Provides default implementations of several abstract methods on CodeAccessPermission // [FriendAccessAllowed] internal abstract class InternalPermissionBase : CodeAccessPermission, IUnrestrictedPermission { //----------------------------------------------------- // // Constructors // //----------------------------------------------------- #region Constructor public InternalPermissionBase( ) { } #endregion Constructor //------------------------------------------------------ // // Interface Methods // //----------------------------------------------------- #region Interface Methods public bool IsUnrestricted() { return true; } #endregion Interface Methods //------------------------------------------------------ // // Public Methods // //------------------------------------------------------ #region Public Methods public override SecurityElement ToXml() { SecurityElement element = new SecurityElement("IPermission"); Type type = this.GetType(); StringBuilder AssemblyName = new StringBuilder(type.Assembly.ToString()); AssemblyName.Replace('\"', '\''); element.AddAttribute("class", type.FullName + ", " + AssemblyName); element.AddAttribute("version", "1"); return element; } public override void FromXml( SecurityElement elem) { // from XML is easy - there is no state. } public override IPermission Intersect(IPermission target) { if(null == target) { return null; } if ( target.GetType() != this.GetType() ) { throw new ArgumentException( SR.Get(SRID.InvalidPermissionType), this.GetType().FullName); } // there is no state. The intersection of 2 permissions of the same type is the same permission. return this.Copy(); } public override bool IsSubsetOf(IPermission target) { if(null == target) { return false; } if ( target.GetType() != this.GetType() ) { throw new ArgumentException( SR.Get(SRID.InvalidPermissionType), this.GetType().FullName); } // there is no state. If you are the same type as me - you are a subset of me. return true; } #endregion Public Methods } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- GeometryConverter.cs
- SystemTcpStatistics.cs
- RangeValueProviderWrapper.cs
- TwoPhaseCommit.cs
- ACE.cs
- ListSourceHelper.cs
- AsnEncodedData.cs
- ValidatorCollection.cs
- XslUrlEditor.cs
- ReadOnlyAttribute.cs
- PresentationSource.cs
- WebPartDescription.cs
- RichTextBox.cs
- WebColorConverter.cs
- SystemColorTracker.cs
- SvcMapFile.cs
- EdmComplexTypeAttribute.cs
- TransportSecurityProtocolFactory.cs
- RightsManagementManager.cs
- InstanceDataCollectionCollection.cs
- InkPresenter.cs
- SchemaInfo.cs
- TableLayoutCellPaintEventArgs.cs
- Msmq4SubqueuePoisonHandler.cs
- ContextMenuStripGroupCollection.cs
- XmlDocumentFragment.cs
- ReadOnlyHierarchicalDataSourceView.cs
- PixelShader.cs
- Size.cs
- HttpCapabilitiesSectionHandler.cs
- UniformGrid.cs
- GridViewCellAutomationPeer.cs
- DataSourceCache.cs
- MultiByteCodec.cs
- ExpressionVisitor.cs
- TextFindEngine.cs
- Reference.cs
- DataObjectPastingEventArgs.cs
- NetPeerTcpBinding.cs
- PriorityRange.cs
- WSSecurityOneDotOneReceiveSecurityHeader.cs
- XsdDuration.cs
- CommonDialog.cs
- DataGridSortCommandEventArgs.cs
- SemanticBasicElement.cs
- WsrmFault.cs
- IsolatedStorageFile.cs
- ValidationRuleCollection.cs
- GraphicsContainer.cs
- TreeNodeSelectionProcessor.cs
- CryptoApi.cs
- IOException.cs
- WebConfigurationHost.cs
- ClientOptions.cs
- KeyProperty.cs
- RowUpdatingEventArgs.cs
- BaseResourcesBuildProvider.cs
- SqlGenerator.cs
- HttpDictionary.cs
- ComplexTypeEmitter.cs
- SqlProviderManifest.cs
- SymbolMethod.cs
- OperationCanceledException.cs
- RequestResizeEvent.cs
- SqlRowUpdatedEvent.cs
- Comparer.cs
- XmlSchemaSubstitutionGroup.cs
- PictureBox.cs
- EUCJPEncoding.cs
- ViewgenContext.cs
- DependencyObjectProvider.cs
- XsltContext.cs
- SamlAssertion.cs
- SubMenuStyleCollection.cs
- Font.cs
- NativeMethods.cs
- XmlSigningNodeWriter.cs
- XmlChoiceIdentifierAttribute.cs
- LayoutTableCell.cs
- DocumentEventArgs.cs
- TextContainerChangedEventArgs.cs
- GifBitmapDecoder.cs
- CharacterMetrics.cs
- DataServiceProcessingPipeline.cs
- XPathItem.cs
- XamlParser.cs
- Canvas.cs
- PolicyChain.cs
- Win32Exception.cs
- XsdBuildProvider.cs
- ObjectComplexPropertyMapping.cs
- IgnoreFileBuildProvider.cs
- TaskFormBase.cs
- DataServiceQueryException.cs
- StateManagedCollection.cs
- Aggregates.cs
- SafeReadContext.cs
- HttpAsyncResult.cs
- OleDbStruct.cs
- ElementAction.cs