2006-09-12 Lluis Sanchez Gual <lluis@novell.com>
[mono.git] / mcs / class / System.XML / System.Xml.Schema / SchemaDataValueType.cs
1
2 //
3 // Permission is hereby granted, free of charge, to any person obtaining
4 // a copy of this software and associated documentation files (the
5 // "Software"), to deal in the Software without restriction, including
6 // without limitation the rights to use, copy, modify, merge, publish,
7 // distribute, sublicense, and/or sell copies of the Software, and to
8 // permit persons to whom the Software is furnished to do so, subject to
9 // the following conditions:
10 // 
11 // The above copyright notice and this permission notice shall be
12 // included in all copies or substantial portions of the Software.
13 // 
14 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21 //
22 using Mono.Xml.Schema;\r
23 \r
24 namespace System.Xml.Schema\r
25 {\r
26         internal struct QNameValueType\r
27         {\r
28                 XmlQualifiedName value;\r
29 \r
30                 public QNameValueType (XmlQualifiedName value)\r
31                 {\r
32                         this.value = value;\r
33                 }\r
34 \r
35                 public XmlQualifiedName Value {\r
36                         get { return value; }\r
37                 }\r
38 \r
39                 public static bool operator == (QNameValueType v1, QNameValueType v2)\r
40                 {\r
41                         return v1.Value == v2.Value;\r
42                 }\r
43 \r
44                 public static bool operator != (QNameValueType v1, QNameValueType v2)\r
45                 {\r
46                         return v1.Value != v2.Value;\r
47                 }\r
48 \r
49                 public override bool Equals (object obj)\r
50                 {\r
51                         if (obj is QNameValueType)\r
52                                 return (QNameValueType) obj == this;\r
53                         else\r
54                                 return false;\r
55                 }\r
56 \r
57                 public override int GetHashCode () \r
58                 {\r
59                         return value.GetHashCode ();\r
60                 }\r
61         }\r
62 \r
63         internal struct StringValueType\r
64         {\r
65                 string value;\r
66 \r
67                 public StringValueType (string value)\r
68                 {\r
69                         this.value = value;\r
70                 }\r
71 \r
72                 public string Value {\r
73                         get { return value; }\r
74                 }\r
75 \r
76                 public static bool operator == (StringValueType v1, StringValueType v2)\r
77                 {\r
78                         return v1.Value == v2.Value;\r
79                 }\r
80 \r
81                 public static bool operator != (StringValueType v1, StringValueType v2)\r
82                 {\r
83                         return v1.Value != v2.Value;\r
84                 }\r
85 \r
86                 public override bool Equals (object obj)\r
87                 {\r
88                         if (obj is StringValueType)\r
89                                 return (StringValueType) obj == this;\r
90                         else\r
91                                 return false;\r
92                 }\r
93 \r
94                 public override int GetHashCode () \r
95                 {\r
96                         return value.GetHashCode ();\r
97                 }\r
98         }\r
99 \r
100         internal struct UriValueType\r
101         {\r
102                 XmlSchemaUri value;\r
103 \r
104                 public UriValueType (XmlSchemaUri value)\r
105                 {\r
106                         this.value = value;\r
107                 }\r
108 \r
109                 public XmlSchemaUri Value {\r
110                         get { return value; }\r
111                 }\r
112 \r
113                 public static bool operator == (UriValueType v1, UriValueType v2)\r
114                 {\r
115                         return v1.Value == v2.Value;\r
116                 }\r
117 \r
118                 public static bool operator != (UriValueType v1, UriValueType v2)\r
119                 {\r
120                         return v1.Value != v2.Value;\r
121                 }\r
122 \r
123                 public override bool Equals (object obj)\r
124                 {\r
125                         if (obj is UriValueType)\r
126                                 return (UriValueType) obj == this;\r
127                         else\r
128                                 return false;\r
129                 }\r
130 \r
131                 public override int GetHashCode () \r
132                 {\r
133                         return value.GetHashCode ();\r
134                 }\r
135 \r
136                 public override string ToString ()\r
137                 {\r
138                         return value.ToString ();\r
139                 }\r
140         }\r
141 \r
142         internal struct StringArrayValueType\r
143         {\r
144                 string [] value;\r
145 \r
146                 public StringArrayValueType (string [] value)\r
147                 {\r
148                         this.value = value;\r
149                 }\r
150 \r
151                 public string [] Value {\r
152                         get { return value; }\r
153                 }\r
154 \r
155                 public static bool operator == (StringArrayValueType v1, StringArrayValueType v2)\r
156                 {\r
157                         return v1.Value == v2.Value;\r
158                 }\r
159 \r
160                 public static bool operator != (StringArrayValueType v1, StringArrayValueType v2)\r
161                 {\r
162                         return v1.Value != v2.Value;\r
163                 }\r
164 \r
165                 public override bool Equals (object obj)\r
166                 {\r
167                         if (obj is StringArrayValueType)\r
168                                 return (StringArrayValueType) obj == this;\r
169                         else\r
170                                 return false;\r
171                 }\r
172 \r
173                 public override int GetHashCode () \r
174                 {\r
175                         return value.GetHashCode ();\r
176                 }\r
177         }\r
178 }