194 lines
4.7 KiB
C#
194 lines
4.7 KiB
C#
|
#region Copyright (c) Microsoft Corporation
|
||
|
/// <copyright company='Microsoft Corporation'>
|
||
|
/// Copyright (c) Microsoft Corporation. All Rights Reserved.
|
||
|
/// Information Contained Herein is Proprietary and Confidential.
|
||
|
/// </copyright>
|
||
|
#endregion
|
||
|
|
||
|
using System;
|
||
|
using System.Collections.Generic;
|
||
|
using System.Diagnostics;
|
||
|
using System.Xml.Serialization;
|
||
|
|
||
|
#if WEB_EXTENSIONS_CODE
|
||
|
namespace System.Web.Compilation.WCFModel
|
||
|
#else
|
||
|
namespace Microsoft.VSDesigner.WCFModel
|
||
|
#endif
|
||
|
{
|
||
|
#if WEB_EXTENSIONS_CODE
|
||
|
internal class SvcMapFile : MapFile
|
||
|
#else
|
||
|
[CLSCompliant(true)]
|
||
|
public class SvcMapFile : MapFile
|
||
|
#endif
|
||
|
{
|
||
|
private SvcMapFileImpl _impl;
|
||
|
|
||
|
public SvcMapFileImpl Impl
|
||
|
{
|
||
|
get
|
||
|
{
|
||
|
return _impl;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public SvcMapFile()
|
||
|
{
|
||
|
_impl = new SvcMapFileImpl();
|
||
|
}
|
||
|
|
||
|
public SvcMapFile(SvcMapFileImpl impl)
|
||
|
{
|
||
|
Debug.Assert(impl != null, "impl is null!");
|
||
|
|
||
|
_impl = impl;
|
||
|
}
|
||
|
|
||
|
public override string ID
|
||
|
{
|
||
|
get
|
||
|
{
|
||
|
return _impl.ID;
|
||
|
}
|
||
|
set
|
||
|
{
|
||
|
_impl.ID = value;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public override List<MetadataSource> MetadataSourceList
|
||
|
{
|
||
|
get
|
||
|
{
|
||
|
return _impl.MetadataSourceList;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public override List<MetadataFile> MetadataList
|
||
|
{
|
||
|
get
|
||
|
{
|
||
|
return _impl.MetadataList;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public override List<ExtensionFile> Extensions
|
||
|
{
|
||
|
get
|
||
|
{
|
||
|
return _impl.Extensions;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public ClientOptions ClientOptions
|
||
|
{
|
||
|
get
|
||
|
{
|
||
|
return _impl.ClientOptions;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
[XmlRoot(Namespace = SvcMapFileImpl.NamespaceUri, ElementName = "ReferenceGroup")]
|
||
|
#if WEB_EXTENSIONS_CODE
|
||
|
internal class SvcMapFileImpl
|
||
|
#else
|
||
|
[CLSCompliant(true)]
|
||
|
public class SvcMapFileImpl
|
||
|
#endif
|
||
|
{
|
||
|
public const string NamespaceUri = "urn:schemas-microsoft-com:xml-wcfservicemap";
|
||
|
|
||
|
private string _id;
|
||
|
private ClientOptions _clientOptions;
|
||
|
private List<MetadataSource> _metadataSourceList;
|
||
|
private List<MetadataFile> _metadataList;
|
||
|
private List<ExtensionFile> _extensionFileList;
|
||
|
|
||
|
[XmlAttribute]
|
||
|
public string ID
|
||
|
{
|
||
|
get
|
||
|
{
|
||
|
if (_id == null)
|
||
|
{
|
||
|
_id = Guid.NewGuid().ToString();
|
||
|
}
|
||
|
return _id;
|
||
|
}
|
||
|
set
|
||
|
{
|
||
|
if (value == null)
|
||
|
{
|
||
|
throw new ArgumentNullException("value");
|
||
|
}
|
||
|
_id = value;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
[XmlElement(ElementName = "ClientOptions", Order = 0)]
|
||
|
public ClientOptions ClientOptions
|
||
|
{
|
||
|
get
|
||
|
{
|
||
|
if (_clientOptions == null)
|
||
|
{
|
||
|
_clientOptions = new ClientOptions();
|
||
|
}
|
||
|
return _clientOptions;
|
||
|
}
|
||
|
set
|
||
|
{
|
||
|
if (value == null)
|
||
|
{
|
||
|
throw new ArgumentNullException("value");
|
||
|
}
|
||
|
_clientOptions = value;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
[XmlArray(ElementName = "MetadataSources", Order = 1)]
|
||
|
[XmlArrayItem("MetadataSource", typeof(MetadataSource))]
|
||
|
public List<MetadataSource> MetadataSourceList
|
||
|
{
|
||
|
get
|
||
|
{
|
||
|
if (_metadataSourceList == null)
|
||
|
{
|
||
|
_metadataSourceList = new List<MetadataSource>();
|
||
|
}
|
||
|
return _metadataSourceList;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
[XmlArray(ElementName = "Metadata", Order = 2)]
|
||
|
[XmlArrayItem("MetadataFile", typeof(MetadataFile))]
|
||
|
public List<MetadataFile> MetadataList
|
||
|
{
|
||
|
get
|
||
|
{
|
||
|
if (_metadataList == null)
|
||
|
{
|
||
|
_metadataList = new List<MetadataFile>();
|
||
|
}
|
||
|
return _metadataList;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
[XmlArray(ElementName = "Extensions", Order = 3)]
|
||
|
[XmlArrayItem("ExtensionFile", typeof(ExtensionFile))]
|
||
|
public List<ExtensionFile> Extensions
|
||
|
{
|
||
|
get
|
||
|
{
|
||
|
if (_extensionFileList == null)
|
||
|
{
|
||
|
_extensionFileList = new List<ExtensionFile>();
|
||
|
}
|
||
|
return _extensionFileList;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|