|
//------------------------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
//------------------------------------------------------------------------------
namespace System.ServiceModel.Configuration
{
using System.Configuration;
using System.ServiceModel;
using System.ServiceModel.Channels;
public partial class PrivacyNoticeElement : BindingElementExtensionElement
{
[ConfigurationProperty(ConfigurationStrings.Url)]
public Uri Url
{
get { return (Uri)base[ConfigurationStrings.Url]; }
set { base[ConfigurationStrings.Url] = value; }
}
[ConfigurationProperty(ConfigurationStrings.Version, DefaultValue = 0)]
[IntegerValidator(MinValue = 0)]
public int Version
{
get { return (int)base[ConfigurationStrings.Version]; }
set { base[ConfigurationStrings.Version] = value; }
}
public override Type BindingElementType
{
get { return typeof( PrivacyNoticeBindingElement ); }
}
public override void ApplyConfiguration(BindingElement bindingElement)
{
base.ApplyConfiguration(bindingElement);
PrivacyNoticeBindingElement binding = (PrivacyNoticeBindingElement)bindingElement;
binding.Url = this.Url;
binding.Version = this.Version;
}
protected internal override BindingElement CreateBindingElement()
{
PrivacyNoticeBindingElement binding = new PrivacyNoticeBindingElement();
this.ApplyConfiguration(binding);
return binding;
}
public override void CopyFrom(ServiceModelExtensionElement from)
{
base.CopyFrom(from);
PrivacyNoticeElement source = (PrivacyNoticeElement) from;
#pragma warning suppress 56506 // Microsoft, base.CopyFrom() validates the argument
this.Url = source.Url;
this.Version = source.Version;
}
protected internal override void InitializeFrom(BindingElement bindingElement)
{
base.InitializeFrom(bindingElement);
PrivacyNoticeBindingElement binding = (PrivacyNoticeBindingElement)bindingElement;
SetPropertyValueIfNotDefaultValue(ConfigurationStrings.Url, binding.Url);
SetPropertyValueIfNotDefaultValue(ConfigurationStrings.Version, binding.Version);
}
}
}
|