You've already forked linux-packaging-mono
Imported Upstream version 4.6.0.125
Former-commit-id: a2155e9bd80020e49e72e86c44da02a8ac0e57a4
This commit is contained in:
parent
a569aebcfd
commit
e79aa3c0ed
@ -0,0 +1,149 @@
|
||||
#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.Globalization;
|
||||
using System.IO;
|
||||
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
|
||||
{
|
||||
/// <summary>
|
||||
/// This class presents a single file referenced by a svcmap file
|
||||
/// </summary>
|
||||
/// <remarks></remarks>
|
||||
#if WEB_EXTENSIONS_CODE
|
||||
internal class ExternalFile
|
||||
#else
|
||||
[CLSCompliant(true)]
|
||||
public class ExternalFile
|
||||
#endif
|
||||
{
|
||||
// File Name
|
||||
private string m_FileName;
|
||||
|
||||
// Is the MeatadataFile loaded from the file? If it is false, we need create a new file when we save to the disket
|
||||
private bool m_IsExistingFile;
|
||||
|
||||
// error happens when the file is loaded
|
||||
private Exception m_ErrorInLoading;
|
||||
|
||||
/// <summary>
|
||||
/// Constructor
|
||||
/// </summary>
|
||||
/// <remarks> Must support a default construct for XmlSerializer</remarks>
|
||||
public ExternalFile()
|
||||
{
|
||||
m_FileName = String.Empty;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Constructor
|
||||
/// </summary>
|
||||
/// <param name="fileName">File Name</param>
|
||||
public ExternalFile(string fileName)
|
||||
{
|
||||
this.FileName = fileName;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Error happens when the file is loaded
|
||||
/// </summary>
|
||||
/// <value></value>
|
||||
/// <remarks></remarks>
|
||||
[XmlSerialization.XmlIgnore()]
|
||||
public Exception ErrorInLoading
|
||||
{
|
||||
get
|
||||
{
|
||||
return m_ErrorInLoading;
|
||||
}
|
||||
set
|
||||
{
|
||||
m_ErrorInLoading = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// FileName in the storage
|
||||
/// </summary>
|
||||
/// <value></value>
|
||||
/// <remarks></remarks>
|
||||
[XmlSerialization.XmlAttribute()]
|
||||
public string FileName
|
||||
{
|
||||
get
|
||||
{
|
||||
return m_FileName;
|
||||
}
|
||||
set
|
||||
{
|
||||
if (value == null)
|
||||
{
|
||||
throw new ArgumentNullException("value");
|
||||
}
|
||||
|
||||
if (!IsLocalFileName(value))
|
||||
{
|
||||
throw new NotSupportedException(String.Format(CultureInfo.CurrentCulture, WCFModelStrings.ReferenceGroup_InvalidFileName, value));
|
||||
}
|
||||
|
||||
m_FileName = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Is the item loaded from the file? If it is false, we need create a new file when we save to the disket
|
||||
/// </summary>
|
||||
/// <value></value>
|
||||
/// <remarks></remarks>
|
||||
[XmlSerialization.XmlIgnore()]
|
||||
public bool IsExistingFile
|
||||
{
|
||||
get
|
||||
{
|
||||
return m_IsExistingFile;
|
||||
}
|
||||
set
|
||||
{
|
||||
m_IsExistingFile = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Check the file name is a real file name but not a path
|
||||
/// </summary>
|
||||
/// <param name="fileName"></param>
|
||||
/// <remarks></remarks>
|
||||
public static bool IsLocalFileName(string fileName)
|
||||
{
|
||||
if (fileName == null)
|
||||
{
|
||||
throw new ArgumentNullException("fileName");
|
||||
}
|
||||
|
||||
if (fileName.IndexOfAny(Path.GetInvalidFileNameChars()) >= 0 || fileName.IndexOfAny(new Char[] { Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar, Path.VolumeSeparatorChar }) >= 0)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user