1 // Copyright (c) Microsoft. All rights reserved.
2 // Licensed under the MIT license. See LICENSE file in the project root for full license information.
3 
4 using System;
5 using System.ComponentModel;
6 using System.Runtime.InteropServices;
7 using System.Text.RegularExpressions;
8 using System.Xml;
9 using System.Xml.Serialization;
10 
11 namespace Microsoft.Build.Tasks.Deployment.ManifestUtilities
12 {
13     /// <summary>
14     /// Describes a fileAssociation for an application manifest
15     /// </summary>
16     [ComVisible(false)]
17     public sealed class FileAssociation
18     {
19         private string _defaultIcon = null;
20         private string _description = null;
21         private string _extension = null;
22         private string _progid = null;
23 
24         /// <summary>
25         /// Initializes a new instance of the FileAssociation class
26         /// </summary>
FileAssociation()27         public FileAssociation()
28         {
29         }
30 
31         [XmlIgnore]
32         public string DefaultIcon
33         {
34             get { return _defaultIcon; }
35             set { _defaultIcon = value; }
36         }
37 
38         [XmlIgnore]
39         public string Description
40         {
41             get { return _description; }
42             set { _description = value; }
43         }
44 
45         [XmlIgnore]
46         public string Extension
47         {
48             get { return _extension; }
49             set { _extension = value; }
50         }
51 
52         [XmlIgnore]
53         public string ProgId
54         {
55             get { return _progid; }
56             set { _progid = value; }
57         }
58 
59         #region " XmlSerializer "
60 
61         [Browsable(false)]
62         [EditorBrowsable(EditorBrowsableState.Never)]
63         [XmlAttribute("DefaultIcon")]
64         public string XmlDefaultIcon
65         {
66             get { return _defaultIcon; }
67             set { _defaultIcon = value; }
68         }
69 
70         [Browsable(false)]
71         [EditorBrowsable(EditorBrowsableState.Never)]
72         [XmlAttribute("Description")]
73         public string XmlDescription
74         {
75             get { return _description; }
76             set { _description = value; }
77         }
78 
79         [Browsable(false)]
80         [EditorBrowsable(EditorBrowsableState.Never)]
81         [XmlAttribute("Extension")]
82         public string XmlExtension
83         {
84             get { return _extension; }
85             set { _extension = value; }
86         }
87 
88         [Browsable(false)]
89         [EditorBrowsable(EditorBrowsableState.Never)]
90         [XmlAttribute("Progid")]
91         public string XmlProgId
92         {
93             get { return _progid; }
94             set { _progid = value; }
95         }
96 
97         #endregion
98     }
99 }
100