2004-05-06 Atsushi Enomoto <atsushi@ximian.com>
[mono.git] / mcs / class / System.XML / System.Xml.Schema / ValidationHandler.cs
1 using System;\r
2 \r
3 namespace System.Xml.Schema\r
4 {\r
5         /// <summary>\r
6         /// </summary>\r
7         public delegate void ValidationEventHandler(object sender,ValidationEventArgs e);\r
8 \r
9         /// <summary>\r
10         /// Docs say we need to raise an exception if ValidationEventHandler is not set(null)\r
11         /// So we use this class to raise the events rather than calling the delegate by itself\r
12         /// </summary>\r
13         internal class ValidationHandler\r
14         {\r
15                 public static void RaiseValidationEvent(ValidationEventHandler handle,\r
16                         Exception innerException,\r
17                         string message,\r
18                         XmlSchemaObject xsobj,\r
19                         object sender,\r
20                         string sourceUri,\r
21                         XmlSeverityType severity)\r
22                 {\r
23                         XmlSchemaException ex = new XmlSchemaException (\r
24                                 message, sender, sourceUri, xsobj, innerException);\r
25                         ValidationEventArgs e = new ValidationEventArgs(ex,message,severity);\r
26                         if(handle == null)\r
27                         {\r
28                                 if (e.Severity == XmlSeverityType.Error)\r
29                                         throw e.Exception;\r
30                         }\r
31                         else\r
32                         {\r
33                                 handle(sender,e);\r
34                         }\r
35                 }\r
36 \r
37                 /*\r
38                 public static void RaiseValidationEvent(ValidationEventHandler handle, Exception innerException,  object sender, string message, XmlSeverityType severity)\r
39                 {\r
40                         RaiseValidationEvent(handle,null,sender,message,XmlSeverityType.Error);\r
41                 }\r
42 \r
43                 public static void RaiseValidationError(ValidationEventHandler handle, object sender, string message)\r
44                 {\r
45                         RaiseValidationEvent(handle,null,sender,message,XmlSeverityType.Error);\r
46                 }\r
47                 \r
48                 public static void RaiseValidationError(ValidationEventHandler handle, string message, Exception innerException)\r
49                 {\r
50                         RaiseValidationEvent(handle, innerException, null, message, XmlSeverityType.Error);\r
51                 }\r
52 \r
53                 public static void RaiseValidationWarning (ValidationEventHandler handle, object sender, string message)\r
54                 {\r
55                         RaiseValidationEvent(handle,null,sender,message,XmlSeverityType.Warning);\r
56                 }\r
57 \r
58                 public static void RaiseValidationWarning(ValidationEventHandler handle, string message, Exception innerException)\r
59                 {\r
60                         RaiseValidationEvent(handle, innerException, null, message, XmlSeverityType.Warning);\r
61                 }\r
62                 */\r
63         }\r
64 }\r