Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / clr / src / BCL / System / Security / Policy / ApplicationDirectory.cs / 1 / ApplicationDirectory.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== // ApplicationDirectory.cs // // ApplicationDirectory is an evidence type representing the directory the assembly // was loaded from. // namespace System.Security.Policy { using System; using System.IO; using System.Security.Util; using System.Collections; [Serializable] [System.Runtime.InteropServices.ComVisible(true)] sealed public class ApplicationDirectory : IBuiltInEvidence { private URLString m_appDirectory; internal ApplicationDirectory() { m_appDirectory = null; } public ApplicationDirectory( String name ) { if (name == null) throw new ArgumentNullException( "name" ); m_appDirectory = new URLString( name ); } public String Directory { get { return m_appDirectory.ToString(); } } public override bool Equals(Object o) { if (o == null) return false; if (o is ApplicationDirectory) { ApplicationDirectory appDir = (ApplicationDirectory) o; if (this.m_appDirectory == null) { return appDir.m_appDirectory == null; } else if (appDir.m_appDirectory == null) { return false; } else { return this.m_appDirectory.IsSubsetOf( appDir.m_appDirectory ) && appDir.m_appDirectory.IsSubsetOf( this.m_appDirectory ); } } return false; } public override int GetHashCode() { return this.Directory.GetHashCode(); } public Object Copy() { ApplicationDirectory appDir = new ApplicationDirectory(); appDir.m_appDirectory = this.m_appDirectory; return appDir; } internal SecurityElement ToXml() { SecurityElement root = new SecurityElement( "System.Security.Policy.ApplicationDirectory" ); // 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. BCLDebug.Assert( this.GetType().FullName.Equals( "System.Security.Policy.ApplicationDirectory" ), "Class name changed!" ); root.AddAttribute( "version", "1" ); if (m_appDirectory != null) root.AddChild( new SecurityElement( "Directory", m_appDirectory.ToString() ) ); return root; } ///int IBuiltInEvidence.OutputToBuffer( char[] buffer, int position, bool verbose ) { buffer[position++] = BuiltInEvidenceHelper.idApplicationDirectory; String directory = this.Directory; int length = directory.Length; if (verbose) { BuiltInEvidenceHelper.CopyIntToCharArray(length, buffer, position); position += 2; } directory.CopyTo( 0, buffer, position, length ); return length + position; } /// int IBuiltInEvidence.InitFromBuffer( char[] buffer, int position) { int length = BuiltInEvidenceHelper.GetIntFromCharArray(buffer, position); position += 2; m_appDirectory = new URLString( new String(buffer, position, length )); return position + length; } /// int IBuiltInEvidence.GetRequiredSize(bool verbose) { if (verbose) return this.Directory.Length + 3; // Directory + identifier + length else return this.Directory.Length + 1; // Directory + identifier } public override String ToString() { return ToXml().ToString(); } } }
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- CommonObjectSecurity.cs
- SqlXml.cs
- Rotation3DAnimation.cs
- DelegatingConfigHost.cs
- BindingCompleteEventArgs.cs
- CodeTypeParameter.cs
- DataServiceQueryContinuation.cs
- EntityDataSourceChangedEventArgs.cs
- WinFormsSecurity.cs
- PropertyGroupDescription.cs
- UIElementHelper.cs
- TextTreeObjectNode.cs
- BitmapPalettes.cs
- SystemBrushes.cs
- HtmlElementEventArgs.cs
- ProfileWorkflowElement.cs
- DiscoveryClientChannelBase.cs
- SettingsSection.cs
- ToolbarAUtomationPeer.cs
- Transactions.cs
- FixedSOMTextRun.cs
- XhtmlBasicCalendarAdapter.cs
- TextServicesHost.cs
- SignatureConfirmations.cs
- Rijndael.cs
- GorillaCodec.cs
- Preprocessor.cs
- CSharpCodeProvider.cs
- WebServiceResponseDesigner.cs
- DataRelationCollection.cs
- ExtensionFile.cs
- RuntimeEnvironment.cs
- MemoryRecordBuffer.cs
- PhonemeEventArgs.cs
- Int32Converter.cs
- PackageDigitalSignatureManager.cs
- CodeAttributeDeclarationCollection.cs
- DataGridTableCollection.cs
- DrawingContextWalker.cs
- DBPropSet.cs
- RichTextBox.cs
- EnumerableCollectionView.cs
- GradientStop.cs
- UnsafeNativeMethods.cs
- ISAPIRuntime.cs
- DBCommand.cs
- ToolStripSettings.cs
- EntityProxyTypeInfo.cs
- SafeArrayRankMismatchException.cs
- ProvideValueServiceProvider.cs
- ContextMenuStrip.cs
- AttachedPropertyMethodSelector.cs
- AsnEncodedData.cs
- NavigationProgressEventArgs.cs
- XsdDuration.cs
- Command.cs
- ListItemCollection.cs
- ConstructorExpr.cs
- SingleResultAttribute.cs
- GlobalizationSection.cs
- SimpleTypeResolver.cs
- CssStyleCollection.cs
- FileInfo.cs
- DataSvcMapFile.cs
- FontStretch.cs
- DeviceSpecificDesigner.cs
- HtmlHistory.cs
- AuthenticationModuleElement.cs
- RegexFCD.cs
- WebPartManager.cs
- ReflectionUtil.cs
- HtmlImage.cs
- XmlWellformedWriterHelpers.cs
- DbConnectionPoolGroup.cs
- ObjectDataSourceStatusEventArgs.cs
- FrameworkContentElement.cs
- MimeTypeMapper.cs
- ProviderConnectionPointCollection.cs
- ToolboxItem.cs
- CustomErrorCollection.cs
- ConnectorDragDropGlyph.cs
- OLEDB_Util.cs
- Separator.cs
- ApplicationSecurityManager.cs
- DataSourceNameHandler.cs
- RtfControlWordInfo.cs
- StorageComplexTypeMapping.cs
- CqlIdentifiers.cs
- SystemEvents.cs
- DrawListViewColumnHeaderEventArgs.cs
- RsaKeyGen.cs
- CodeCommentStatementCollection.cs
- OdbcDataReader.cs
- Int32EqualityComparer.cs
- PolicyException.cs
- ObjectDataSourceView.cs
- Menu.cs
- MethodBuilderInstantiation.cs
- OdbcRowUpdatingEvent.cs
- SamlNameIdentifierClaimResource.cs