File: NugetPackageDownloader\WorkloadUnixFilePermissionsFileList.cs
Web Access
Project: ..\..\..\src\Cli\dotnet\dotnet.csproj (dotnet)
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
 
#nullable disable
 
using System.ComponentModel;
using System.Xml;
using System.Xml.Serialization;
 
namespace Microsoft.DotNet.Cli.NugetPackageDownloader;
 
[Serializable]
[DesignerCategory("code")]
[XmlType(AnonymousType = true)]
[XmlRoot(Namespace = "", IsNullable = false)]
public class FileList
{
    private FileListFile[] fileField;
 
    [XmlElement("File")]
    public FileListFile[] File
    {
        get => fileField;
        set => fileField = value;
    }
 
    public static FileList Deserialize(string pathToXml)
    {
        var serializer = new XmlSerializer(typeof(FileList));
 
        using var fs = new FileStream(pathToXml, FileMode.Open);
        var reader = XmlReader.Create(fs);
        FileList fileList = (FileList)serializer.Deserialize(reader);
        return fileList;
    }
}
 
[Serializable]
[DesignerCategory("code")]
[XmlType(AnonymousType = true)]
public class FileListFile
{
    private string pathField;
 
    private string permissionField;
 
    [XmlAttribute]
    public string Path
    {
        get => pathField;
        set => pathField = value;
    }
 
    [XmlAttribute]
    public string Permission
    {
        get => permissionField;
        set => permissionField = value;
    }
}