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 / Policy / URL.cs / 1 / URL.cs
// ==++==
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// ==--==
//
// Url.cs
//
// Url is an IIdentity representing url internet sites.
//
namespace System.Security.Policy {
using System.IO;
using System.Security.Util;
using UrlIdentityPermission = System.Security.Permissions.UrlIdentityPermission;
using System.Runtime.Serialization;
[Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
sealed public class Url : IIdentityPermissionFactory, IBuiltInEvidence
{
private URLString m_url;
internal Url()
{
m_url = null;
}
internal Url( SerializationInfo info, StreamingContext context )
{
m_url = new URLString( (String)info.GetValue( "Url", typeof( String ) ) );
}
internal Url( String name, bool parsed )
{
if (name == null)
throw new ArgumentNullException( "name" );
m_url = new URLString( name, parsed );
}
public Url( String name )
{
if (name == null)
throw new ArgumentNullException( "name" );
m_url = new URLString( name );
}
public String Value
{
get
{
if (m_url == null) return null;
return m_url.ToString();
}
}
internal URLString GetURLString()
{
return m_url;
}
public IPermission CreateIdentityPermission( Evidence evidence )
{
return new UrlIdentityPermission( m_url );
}
public override bool Equals(Object o)
{
if (o == null)
return false;
if (o is Url)
{
Url url = (Url) o;
if (this.m_url == null)
{
return url.m_url == null;
}
else if (url.m_url == null)
{
return false;
}
else
{
return this.m_url.Equals( url.m_url );
}
}
return false;
}
public override int GetHashCode()
{
if (this.m_url == null)
return 0;
else
return this.m_url.GetHashCode();
}
public Object Copy()
{
Url url = new Url();
url.m_url = this.m_url;
return url;
}
internal SecurityElement ToXml()
{
SecurityElement root = new SecurityElement( "System.Security.Policy.Url" );
// 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.Url" ), "Class name changed!" );
root.AddAttribute( "version", "1" );
if (m_url != null)
root.AddChild( new SecurityElement( "Url", m_url.ToString() ) );
return root;
}
public override String ToString()
{
return ToXml().ToString();
}
///
int IBuiltInEvidence.OutputToBuffer( char[] buffer, int position, bool verbose )
{
buffer[position++] = BuiltInEvidenceHelper.idUrl;
String value = this.Value;
int length = value.Length;
if (verbose)
{
BuiltInEvidenceHelper.CopyIntToCharArray(length, buffer, position);
position += 2;
}
value.CopyTo( 0, buffer, position, length );
return length + position;
}
///
int IBuiltInEvidence.GetRequiredSize(bool verbose )
{
if (verbose)
return this.Value.Length + 3;
else
return this.Value.Length + 1;
}
///
int IBuiltInEvidence.InitFromBuffer( char[] buffer, int position)
{
int length = BuiltInEvidenceHelper.GetIntFromCharArray(buffer, position);
position += 2;
m_url = new URLString( new String(buffer, position, length ));
return position + length;
}
#if false
public void GetObjectData(SerializationInfo info, StreamingContext context)
{
String normalizedUrl = m_url.NormalizeUrl();
info.AddValue( "Url", normalizedUrl );
}
#endif
// INormalizeForIsolatedStorage is not implemented for startup perf
// equivalent to INormalizeForIsolatedStorage.Normalize()
internal Object Normalize()
{
return m_url.NormalizeUrl();
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// ==++==
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// ==--==
//
// Url.cs
//
// Url is an IIdentity representing url internet sites.
//
namespace System.Security.Policy {
using System.IO;
using System.Security.Util;
using UrlIdentityPermission = System.Security.Permissions.UrlIdentityPermission;
using System.Runtime.Serialization;
[Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
sealed public class Url : IIdentityPermissionFactory, IBuiltInEvidence
{
private URLString m_url;
internal Url()
{
m_url = null;
}
internal Url( SerializationInfo info, StreamingContext context )
{
m_url = new URLString( (String)info.GetValue( "Url", typeof( String ) ) );
}
internal Url( String name, bool parsed )
{
if (name == null)
throw new ArgumentNullException( "name" );
m_url = new URLString( name, parsed );
}
public Url( String name )
{
if (name == null)
throw new ArgumentNullException( "name" );
m_url = new URLString( name );
}
public String Value
{
get
{
if (m_url == null) return null;
return m_url.ToString();
}
}
internal URLString GetURLString()
{
return m_url;
}
public IPermission CreateIdentityPermission( Evidence evidence )
{
return new UrlIdentityPermission( m_url );
}
public override bool Equals(Object o)
{
if (o == null)
return false;
if (o is Url)
{
Url url = (Url) o;
if (this.m_url == null)
{
return url.m_url == null;
}
else if (url.m_url == null)
{
return false;
}
else
{
return this.m_url.Equals( url.m_url );
}
}
return false;
}
public override int GetHashCode()
{
if (this.m_url == null)
return 0;
else
return this.m_url.GetHashCode();
}
public Object Copy()
{
Url url = new Url();
url.m_url = this.m_url;
return url;
}
internal SecurityElement ToXml()
{
SecurityElement root = new SecurityElement( "System.Security.Policy.Url" );
// 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.Url" ), "Class name changed!" );
root.AddAttribute( "version", "1" );
if (m_url != null)
root.AddChild( new SecurityElement( "Url", m_url.ToString() ) );
return root;
}
public override String ToString()
{
return ToXml().ToString();
}
///
int IBuiltInEvidence.OutputToBuffer( char[] buffer, int position, bool verbose )
{
buffer[position++] = BuiltInEvidenceHelper.idUrl;
String value = this.Value;
int length = value.Length;
if (verbose)
{
BuiltInEvidenceHelper.CopyIntToCharArray(length, buffer, position);
position += 2;
}
value.CopyTo( 0, buffer, position, length );
return length + position;
}
///
int IBuiltInEvidence.GetRequiredSize(bool verbose )
{
if (verbose)
return this.Value.Length + 3;
else
return this.Value.Length + 1;
}
///
int IBuiltInEvidence.InitFromBuffer( char[] buffer, int position)
{
int length = BuiltInEvidenceHelper.GetIntFromCharArray(buffer, position);
position += 2;
m_url = new URLString( new String(buffer, position, length ));
return position + length;
}
#if false
public void GetObjectData(SerializationInfo info, StreamingContext context)
{
String normalizedUrl = m_url.NormalizeUrl();
info.AddValue( "Url", normalizedUrl );
}
#endif
// INormalizeForIsolatedStorage is not implemented for startup perf
// equivalent to INormalizeForIsolatedStorage.Normalize()
internal Object Normalize()
{
return m_url.NormalizeUrl();
}
}
}
// 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
- EnterpriseServicesHelper.cs
- ProfileModule.cs
- SerializationInfo.cs
- CodeSnippetTypeMember.cs
- ObjectDataSourceDisposingEventArgs.cs
- LinkTarget.cs
- COM2ComponentEditor.cs
- SecurityUtils.cs
- AssemblyInfo.cs
- EventProxy.cs
- OpacityConverter.cs
- MonthCalendar.cs
- SettingsAttributeDictionary.cs
- BitmapFrameDecode.cs
- DocComment.cs
- XamlTypeMapper.cs
- XmlSchemaException.cs
- NetworkStream.cs
- PackageRelationshipSelector.cs
- UnsafeNativeMethods.cs
- SoapMessage.cs
- IdentitySection.cs
- DynamicDataRoute.cs
- OneOfConst.cs
- DataGridItem.cs
- DependencyPropertyKey.cs
- PrintPreviewControl.cs
- LineBreakRecord.cs
- IntranetCredentialPolicy.cs
- ProfilePropertySettings.cs
- TextDecorationLocationValidation.cs
- LogicalTreeHelper.cs
- ApplicationException.cs
- DbParameterCollection.cs
- Properties.cs
- UnmanagedMemoryStream.cs
- ContextMenuAutomationPeer.cs
- HMACSHA1.cs
- AppDomainProtocolHandler.cs
- PlatformCulture.cs
- WsatTransactionInfo.cs
- DetailsViewInsertEventArgs.cs
- DiagnosticEventProvider.cs
- _NegoStream.cs
- SessionStateSection.cs
- Repeater.cs
- ActivityInterfaces.cs
- Form.cs
- DebuggerAttributes.cs
- PrefixQName.cs
- CodeObject.cs
- DataReceivedEventArgs.cs
- hresults.cs
- PersonalizableAttribute.cs
- TextDecoration.cs
- NullRuntimeConfig.cs
- XmlElement.cs
- ImmutableObjectAttribute.cs
- DashStyles.cs
- SessionStateModule.cs
- Opcode.cs
- Parser.cs
- ContainerControl.cs
- ListCollectionView.cs
- DbDataAdapter.cs
- ActivitySurrogate.cs
- TypeNameConverter.cs
- CommandManager.cs
- TemplatePropertyEntry.cs
- BulletedList.cs
- SecurityIdentifierElementCollection.cs
- ProviderManager.cs
- DrawListViewSubItemEventArgs.cs
- VideoDrawing.cs
- DataGridColumnReorderingEventArgs.cs
- ReflectionPermission.cs
- unitconverter.cs
- ItemContainerProviderWrapper.cs
- MD5.cs
- NativeMethods.cs
- TypeViewSchema.cs
- MailWebEventProvider.cs
- XmlSchemaAnyAttribute.cs
- Resources.Designer.cs
- TextDecorations.cs
- RawKeyboardInputReport.cs
- HtmlTextArea.cs
- SqlWriter.cs
- TransactionsSectionGroup.cs
- JulianCalendar.cs
- TreeIterator.cs
- SystemMulticastIPAddressInformation.cs
- ProvidersHelper.cs
- PersonalizationStateInfoCollection.cs
- DesignOnlyAttribute.cs
- LayoutEvent.cs
- LineGeometry.cs
- ReadOnlyPropertyMetadata.cs
- Odbc32.cs
- DBParameter.cs