#region Copyright (c) Microsoft Corporation /// /// Copyright (c) Microsoft Corporation. All Rights Reserved. /// Information Contained Herein is Proprietary and Confidential. /// #endregion using System; using System.Diagnostics; using XmlSerialization = System.Xml.Serialization; #if WEB_EXTENSIONS_CODE using System.Web.Resources; #else using Microsoft.VSDesigner.WCF.Resources; #endif #if WEB_EXTENSIONS_CODE namespace System.Web.Compilation.WCFModel #else namespace Microsoft.VSDesigner.WCFModel #endif { /// /// This class implements a MetadataSource item in the svcmap file /// /// #if WEB_EXTENSIONS_CODE internal class MetadataSource #else [CLSCompliant(true)] public class MetadataSource #endif { // URL of metadata source private string m_Address; // protocol to download it private string m_Protocol; // ID of this source private int m_SourceId; /// /// Constructor /// /// Must support a default construct for XmlSerializer public MetadataSource() { m_Address = String.Empty; m_Protocol = String.Empty; } /// /// Constructor /// /// /// /// public MetadataSource(string protocol, string address, int sourceId) { if (protocol == null) { throw new ArgumentNullException("protocol"); } if (address == null) { throw new ArgumentNullException("address"); } if (protocol.Length == 0) { throw new ArgumentException(WCFModelStrings.ReferenceGroup_EmptyProtocol); } if (address == null) { throw new ArgumentException(WCFModelStrings.ReferenceGroup_EmptyAddress); } m_Protocol = protocol; m_Address = address; if (sourceId < 0) { Debug.Fail("Source ID shouldn't be a nagtive number"); throw new ArgumentException(WCFModelStrings.ReferenceGroup_InvalidSourceId); } m_SourceId = sourceId; } /// /// URL address to download metadata /// /// /// [XmlSerialization.XmlAttribute()] public string Address { get { return m_Address; } set { if (value == null) { throw new ArgumentNullException("value"); } m_Address = value; } } /// /// protocol used to download metadata /// /// /// [XmlSerialization.XmlAttribute()] public string Protocol { get { return m_Protocol; } set { if (value == null) { throw new ArgumentNullException("value"); } m_Protocol = value; } } /// /// generated ID for this metadata source /// /// /// [XmlSerialization.XmlAttribute()] public int SourceId { get { return m_SourceId; } set { if (value < 0) { Debug.Fail("Source ID shouldn't be a nagtive number"); throw new ArgumentException(WCFModelStrings.ReferenceGroup_InvalidSourceId); } m_SourceId = value; } } } }