Merge pull request #1225 from strawd/bug22307
[mono.git] / mcs / class / Microsoft.Build.Framework / Microsoft.Build.Framework / BuildWarningEventArgs.cs
1 //
2 // BuildWarningEventArgs.cs: Provides data for the Microsoft.Build.Framework.
3 // IEventSource.WariningRaised event.
4 //
5 // Author:
6 //   Marek Sieradzki (marek.sieradzki@gmail.com)
7 //
8 // (C) 2005 Marek Sieradzki
9 //
10 // Permission is hereby granted, free of charge, to any person obtaining
11 // a copy of this software and associated documentation files (the
12 // "Software"), to deal in the Software without restriction, including
13 // without limitation the rights to use, copy, modify, merge, publish,
14 // distribute, sublicense, and/or sell copies of the Software, and to
15 // permit persons to whom the Software is furnished to do so, subject to
16 // the following conditions:
17 //
18 // The above copyright notice and this permission notice shall be
19 // included in all copies or substantial portions of the Software.
20 //
21 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
22 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
23 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
24 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
25 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
26 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
27 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
28
29 using System;
30
31 namespace Microsoft.Build.Framework {
32         [Serializable]
33         public class BuildWarningEventArgs
34                         : LazyFormattedBuildEventArgs {
35         
36                 string  subcategory;
37                 string  code;
38                 string  file;
39                 int     lineNumber;
40                 int     columnNumber;
41                 int     endLineNumber;
42                 int     endColumnNumber;
43                 string projectFile;
44
45                 protected BuildWarningEventArgs ()
46                 {
47                 }
48
49                 public BuildWarningEventArgs (string subcategory, string code,
50                                               string file, int lineNumber,
51                                               int columnNumber,
52                                               int endLineNumber,
53                                               int endColumnNumber,
54                                               string message,
55                                               string helpKeyword,
56                                               string senderName)
57                         : base (message, helpKeyword, senderName)
58                 {
59                         this.subcategory = subcategory;
60                         this.code = code;
61                         this.file = file;
62                         this.lineNumber = lineNumber;
63                         this.columnNumber = columnNumber;
64                         this.endLineNumber = endLineNumber;
65                         this.endColumnNumber = endColumnNumber;
66                 }
67
68                 public BuildWarningEventArgs (string subcategory, string code,
69                                 string file, int lineNumber, int columnNumber,
70                                 int endLineNumber, int endColumnNumber, string message,
71                                 string helpKeyword, string senderName, DateTime eventTimestamp)
72                         : this (subcategory, code, file, lineNumber, columnNumber,
73                                 endLineNumber, endColumnNumber, message, helpKeyword,
74                                 senderName, eventTimestamp, new object[0])
75                 {
76                 }
77
78                 public BuildWarningEventArgs (string subcategory, string code,
79                                 string file, int lineNumber, int columnNumber, int endLineNumber,
80                                 int endColumnNumber, string message, string helpKeyword,
81                                 string senderName, DateTime eventTimestamp,
82                                 params object[] messageArgs)
83                         : base (message, helpKeyword, senderName, eventTimestamp, messageArgs)
84                 {
85                         this.subcategory = subcategory;
86                         this.code = code;
87                         this.file = file;
88                         this.lineNumber = lineNumber;
89                         this.columnNumber = columnNumber;
90                         this.endLineNumber = endLineNumber;
91                         this.endColumnNumber = endColumnNumber;
92
93                 }
94
95                 public string Code {
96                         get {
97                                 return code;
98                         }
99                 }
100
101                 public int ColumnNumber {
102                         get {
103                                 return columnNumber;
104                         }
105                 }
106
107                 public int EndColumnNumber {
108                         get {
109                                 return endColumnNumber;
110                         }
111                 }
112
113                 public int EndLineNumber {
114                         get {
115                                 return endLineNumber;
116                         }
117                 }
118
119                 public string File {
120                         get {
121                                 return file;
122                         }
123                 }
124
125                 public int LineNumber {
126                         get {
127                                 return lineNumber;
128                         }
129                 }
130
131                 public string Subcategory {
132                         get {
133                                 return subcategory;
134                         }
135                 }
136
137                 public string ProjectFile {
138                         get { return projectFile; }
139                         set {  projectFile = value; }
140                 }
141         }
142 }