Merge pull request #903 from simonhartmann/master
[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 #if NET_4_0
35                         : LazyFormattedBuildEventArgs {
36 #else
37                         : BuildEventArgs {
38 #endif
39         
40                 string  subcategory;
41                 string  code;
42                 string  file;
43                 int     lineNumber;
44                 int     columnNumber;
45                 int     endLineNumber;
46                 int     endColumnNumber;
47 #if NET_4_0
48                 string projectFile;
49 #endif
50
51                 protected BuildWarningEventArgs ()
52                 {
53                 }
54
55                 public BuildWarningEventArgs (string subcategory, string code,
56                                               string file, int lineNumber,
57                                               int columnNumber,
58                                               int endLineNumber,
59                                               int endColumnNumber,
60                                               string message,
61                                               string helpKeyword,
62                                               string senderName)
63                         : base (message, helpKeyword, senderName)
64                 {
65                         this.subcategory = subcategory;
66                         this.code = code;
67                         this.file = file;
68                         this.lineNumber = lineNumber;
69                         this.columnNumber = columnNumber;
70                         this.endLineNumber = endLineNumber;
71                         this.endColumnNumber = endColumnNumber;
72                 }
73
74 #if NET_4_0
75                 public BuildWarningEventArgs (string subcategory, string code,
76                                 string file, int lineNumber, int columnNumber,
77                                 int endLineNumber, int endColumnNumber, string message,
78                                 string helpKeyword, string senderName, DateTime eventTimestamp)
79                         : this (subcategory, code, file, lineNumber, columnNumber,
80                                 endLineNumber, endColumnNumber, message, helpKeyword,
81                                 senderName, eventTimestamp, new object[0])
82                 {
83                 }
84
85                 public BuildWarningEventArgs (string subcategory, string code,
86                                 string file, int lineNumber, int columnNumber, int endLineNumber,
87                                 int endColumnNumber, string message, string helpKeyword,
88                                 string senderName, DateTime eventTimestamp,
89                                 params object[] messageArgs)
90                         : base (message, helpKeyword, senderName, eventTimestamp, messageArgs)
91                 {
92                         this.subcategory = subcategory;
93                         this.code = code;
94                         this.file = file;
95                         this.lineNumber = lineNumber;
96                         this.columnNumber = columnNumber;
97                         this.endLineNumber = endLineNumber;
98                         this.endColumnNumber = endColumnNumber;
99
100                 }
101 #endif
102
103                 public string Code {
104                         get {
105                                 return code;
106                         }
107                 }
108
109                 public int ColumnNumber {
110                         get {
111                                 return columnNumber;
112                         }
113                 }
114
115                 public int EndColumnNumber {
116                         get {
117                                 return endColumnNumber;
118                         }
119                 }
120
121                 public int EndLineNumber {
122                         get {
123                                 return endLineNumber;
124                         }
125                 }
126
127                 public string File {
128                         get {
129                                 return file;
130                         }
131                 }
132
133                 public int LineNumber {
134                         get {
135                                 return lineNumber;
136                         }
137                 }
138
139                 public string Subcategory {
140                         get {
141                                 return subcategory;
142                         }
143                 }
144
145 #if NET_4_0
146                 public string ProjectFile {
147                         get { return projectFile; }
148                         set {  projectFile = value; }
149                 }
150 #endif
151         }
152 }