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
- OleDbInfoMessageEvent.cs
- MemberAccessException.cs
- SqlAliasesReferenced.cs
- DialogResultConverter.cs
- CellConstant.cs
- WasEndpointConfigContainer.cs
- FamilyMapCollection.cs
- Operator.cs
- NativeActivityAbortContext.cs
- DataGridViewColumnConverter.cs
- CacheModeConverter.cs
- Expressions.cs
- ArrayWithOffset.cs
- CodeArgumentReferenceExpression.cs
- SimpleHandlerFactory.cs
- SqlDataSourceView.cs
- FilteredDataSetHelper.cs
- TextServicesCompartmentEventSink.cs
- ElementUtil.cs
- UnmanagedBitmapWrapper.cs
- Paragraph.cs
- autovalidator.cs
- ContextInformation.cs
- ExtenderProvidedPropertyAttribute.cs
- IndexedEnumerable.cs
- HandlerFactoryCache.cs
- RSAOAEPKeyExchangeFormatter.cs
- PropertyGroupDescription.cs
- SiteMapSection.cs
- XmlUrlResolver.cs
- SettingsAttributeDictionary.cs
- ListGeneralPage.cs
- Vector3DValueSerializer.cs
- recordstate.cs
- ToolStripRenderer.cs
- SafeNativeMethods.cs
- TableFieldsEditor.cs
- SafeProcessHandle.cs
- Win32PrintDialog.cs
- WebBaseEventKeyComparer.cs
- CollectionTraceRecord.cs
- AssemblyNameProxy.cs
- SplitterEvent.cs
- WeakReference.cs
- ChangeDirector.cs
- WebEventCodes.cs
- CacheSection.cs
- XmlCustomFormatter.cs
- ServiceNotStartedException.cs
- TreeView.cs
- SQLChars.cs
- RightsManagementPermission.cs
- RepeatBehaviorConverter.cs
- Int32EqualityComparer.cs
- WindowCollection.cs
- DatagridviewDisplayedBandsData.cs
- GradientStopCollection.cs
- AppAction.cs
- DockAndAnchorLayout.cs
- Certificate.cs
- MarkupObject.cs
- DnsEndPoint.cs
- _OverlappedAsyncResult.cs
- ListViewCommandEventArgs.cs
- PopupRoot.cs
- Token.cs
- TextEditorDragDrop.cs
- DataGrid.cs
- TrimSurroundingWhitespaceAttribute.cs
- LoginName.cs
- CompensatableTransactionScopeActivity.cs
- _LocalDataStore.cs
- XmlCustomFormatter.cs
- DocumentSchemaValidator.cs
- GridViewPageEventArgs.cs
- IISMapPath.cs
- TextSearch.cs
- ProfileGroupSettingsCollection.cs
- ListItemConverter.cs
- TextContainer.cs
- EncryptedType.cs
- View.cs
- ViewGenResults.cs
- SqlDataSource.cs
- BlurEffect.cs
- DesignColumnCollection.cs
- BasicViewGenerator.cs
- MostlySingletonList.cs
- Verify.cs
- PersistChildrenAttribute.cs
- MulticastNotSupportedException.cs
- XmlUtil.cs
- FunctionNode.cs
- FlowThrottle.cs
- PathGradientBrush.cs
- QuaternionConverter.cs
- DispatcherProcessingDisabled.cs
- printdlgexmarshaler.cs
- FrameSecurityDescriptor.cs
- SafeRegistryHandle.cs