4 using System
.Xml
.Schema
;
5 using System
.Xml
.Serialization
;
7 using System
.Collections
;
8 using System
.Globalization
;
10 namespace System
.Web
.Services
.Description
12 internal class WebReferenceOptionsReader
: XmlSerializationReader
14 public object ReadRoot_WebReferenceOptions ()
16 Reader
.MoveToContent();
17 if (Reader
.LocalName
!= "webReferenceOptions" || Reader
.NamespaceURI
!= "http://microsoft.com/webReference/")
18 throw CreateUnknownNodeException();
19 return ReadObject_webReferenceOptions (true, true);
22 public System
.Web
.Services
.Description
.WebReferenceOptions
ReadObject_webReferenceOptions (bool isNullable
, bool checkType
)
24 System
.Web
.Services
.Description
.WebReferenceOptions ob
= null;
25 if (isNullable
&& ReadNull()) return null;
29 System
.Xml
.XmlQualifiedName t
= GetXsiType();
32 else if (t
.Name
!= "webReferenceOptions" || t
.Namespace
!= "http://microsoft.com/webReference/")
33 throw CreateUnknownTypeException(t
);
36 ob
= new System
.Web
.Services
.Description
.WebReferenceOptions ();
38 Reader
.MoveToElement();
40 ob
.@CodeGenerationOptions
= ((System
.Xml
.Serialization
.CodeGenerationOptions
) System
.Xml
.Serialization
.CodeGenerationOptions
.GenerateOldAsync
);
41 ob
.@Style
= ((System
.Web
.Services
.Description
.ServiceDescriptionImportStyle
) System
.Web
.Services
.Description
.ServiceDescriptionImportStyle
.Client
);
42 while (Reader
.MoveToNextAttribute())
44 if (IsXmlnsAttribute (Reader
.Name
)) {
51 Reader
.MoveToElement();
52 if (Reader
.IsEmptyElement
) {
57 Reader
.ReadStartElement();
58 Reader
.MoveToContent();
60 bool b0
=false, b1
=false, b2
=false, b3
=false;
62 while (Reader
.NodeType
!= System
.Xml
.XmlNodeType
.EndElement
)
64 if (Reader
.NodeType
== System
.Xml
.XmlNodeType
.Element
)
66 if (Reader
.LocalName
== "style" && Reader
.NamespaceURI
== "http://microsoft.com/webReference/" && !b2
) {
68 ob
.@Style
= GetEnumValue_ServiceDescriptionImportStyle (Reader
.ReadElementString ());
70 else if (Reader
.LocalName
== "verbose" && Reader
.NamespaceURI
== "http://microsoft.com/webReference/" && !b3
) {
72 ob
.@Verbose
= XmlConvert
.ToBoolean (Reader
.ReadElementString ());
74 else if (Reader
.LocalName
== "codeGenerationOptions" && Reader
.NamespaceURI
== "http://microsoft.com/webReference/" && !b0
) {
76 ob
.@CodeGenerationOptions
= GetEnumValue_CodeGenerationOptions (Reader
.ReadElementString ());
78 else if (Reader
.LocalName
== "schemaImporterExtensions" && Reader
.NamespaceURI
== "http://microsoft.com/webReference/" && !b1
) {
79 if (((object)ob
.@SchemaImporterExtensions
) == null)
80 throw CreateReadOnlyCollectionException ("System.Collections.Specialized.StringCollection");
81 if (Reader
.IsEmptyElement
) {
85 Reader
.ReadStartElement();
86 Reader
.MoveToContent();
88 while (Reader
.NodeType
!= System
.Xml
.XmlNodeType
.EndElement
)
90 if (Reader
.NodeType
== System
.Xml
.XmlNodeType
.Element
)
92 if (Reader
.LocalName
== "type" && Reader
.NamespaceURI
== "http://microsoft.com/webReference/") {
93 if (((object)ob
.@SchemaImporterExtensions
) == null)
94 throw CreateReadOnlyCollectionException ("System.Collections.Specialized.StringCollection");
95 ob
.@SchemaImporterExtensions
.Add (Reader
.ReadElementString ());
98 else UnknownNode (null);
100 else UnknownNode (null);
102 Reader
.MoveToContent();
115 Reader
.MoveToContent();
123 public System
.Web
.Services
.Description
.ServiceDescriptionImportStyle
ReadObject_ServiceDescriptionImportStyle (bool isNullable
, bool checkType
)
125 Reader
.ReadStartElement ();
126 System
.Web
.Services
.Description
.ServiceDescriptionImportStyle res
= GetEnumValue_ServiceDescriptionImportStyle (Reader
.ReadString());
127 if (Reader
.NodeType
!= XmlNodeType
.None
)
128 Reader
.ReadEndElement ();
132 System
.Web
.Services
.Description
.ServiceDescriptionImportStyle
GetEnumValue_ServiceDescriptionImportStyle (string xmlName
)
136 case "client": return System
.Web
.Services
.Description
.ServiceDescriptionImportStyle
.Client
;
137 case "server": return System
.Web
.Services
.Description
.ServiceDescriptionImportStyle
.Server
;
138 case "serverInterface": return System
.Web
.Services
.Description
.ServiceDescriptionImportStyle
.ServerInterface
;
140 throw CreateUnknownConstantException (xmlName
, typeof(System
.Web
.Services
.Description
.ServiceDescriptionImportStyle
));
144 public System
.Xml
.Serialization
.CodeGenerationOptions
ReadObject_CodeGenerationOptions (bool isNullable
, bool checkType
)
146 Reader
.ReadStartElement ();
147 System
.Xml
.Serialization
.CodeGenerationOptions res
= GetEnumValue_CodeGenerationOptions (Reader
.ReadString());
148 if (Reader
.NodeType
!= XmlNodeType
.None
)
149 Reader
.ReadEndElement ();
153 System
.Xml
.Serialization
.CodeGenerationOptions
GetEnumValue_CodeGenerationOptions (string xmlName
)
155 xmlName
= xmlName
.Trim();
156 if (xmlName
.Length
== 0) return (System
.Xml
.Serialization
.CodeGenerationOptions
)0;
157 System
.Xml
.Serialization
.CodeGenerationOptions sb
= (System
.Xml
.Serialization
.CodeGenerationOptions
)0;
158 string[] enumNames
= xmlName
.Split (null);
159 foreach (string name
in enumNames
)
161 if (name
== string.Empty
) continue;
162 sb
|= GetEnumValue_CodeGenerationOptions_Switch (name
);
167 System
.Xml
.Serialization
.CodeGenerationOptions
GetEnumValue_CodeGenerationOptions_Switch (string xmlName
)
171 case "properties": return System
.Xml
.Serialization
.CodeGenerationOptions
.GenerateProperties
;
172 case "newAsync": return System
.Xml
.Serialization
.CodeGenerationOptions
.GenerateNewAsync
;
173 case "oldAsync": return System
.Xml
.Serialization
.CodeGenerationOptions
.GenerateOldAsync
;
174 case "order": return System
.Xml
.Serialization
.CodeGenerationOptions
.GenerateOrder
;
175 case "enableDataBinding": return System
.Xml
.Serialization
.CodeGenerationOptions
.EnableDataBinding
;
177 throw CreateUnknownConstantException (xmlName
, typeof(System
.Xml
.Serialization
.CodeGenerationOptions
));
181 protected override void InitCallbacks ()
185 protected override void InitIDs ()
191 internal class WebReferenceOptionsWriter
: XmlSerializationWriter
193 const string xmlNamespace
= "http://www.w3.org/2000/xmlns/";
194 public void WriteRoot_WebReferenceOptions (object o
)
196 WriteStartDocument ();
197 System
.Web
.Services
.Description
.WebReferenceOptions ob
= (System
.Web
.Services
.Description
.WebReferenceOptions
) o
;
199 WriteObject_webReferenceOptions (ob
, "webReferenceOptions", "http://microsoft.com/webReference/", true, false, true);
202 void WriteObject_webReferenceOptions (System
.Web
.Services
.Description
.WebReferenceOptions ob
, string element
, string namesp
, bool isNullable
, bool needType
, bool writeWrappingElem
)
204 if (((object)ob
) == null)
207 WriteNullTagLiteral(element
, namesp
);
211 System
.Type type
= ob
.GetType ();
212 if (type
== typeof(System
.Web
.Services
.Description
.WebReferenceOptions
))
215 throw CreateUnknownTypeException (ob
);
218 if (writeWrappingElem
) {
219 WriteStartElement (element
, namesp
, ob
);
222 if (needType
) WriteXsiType("webReferenceOptions", "http://microsoft.com/webReference/");
224 if (ob
.@CodeGenerationOptions
!= ((System
.Xml
.Serialization
.CodeGenerationOptions
) System
.Xml
.Serialization
.CodeGenerationOptions
.GenerateOldAsync
)) {
225 WriteElementString ("codeGenerationOptions", "http://microsoft.com/webReference/", GetEnumValue_CodeGenerationOptions (ob
.@CodeGenerationOptions
));
227 if (ob
.@SchemaImporterExtensions
!= null) {
228 WriteStartElement ("schemaImporterExtensions", "http://microsoft.com/webReference/", ob
.@SchemaImporterExtensions
);
229 for (int n5
= 0; n5
< ob
.@SchemaImporterExtensions
.Count
; n5
++) {
230 WriteElementString ("type", "http://microsoft.com/webReference/", ob
.@SchemaImporterExtensions
[n5
]);
232 WriteEndElement (ob
.@SchemaImporterExtensions
);
234 if (ob
.@Style
!= ((System
.Web
.Services
.Description
.ServiceDescriptionImportStyle
) System
.Web
.Services
.Description
.ServiceDescriptionImportStyle
.Client
)) {
235 WriteElementString ("style", "http://microsoft.com/webReference/", GetEnumValue_ServiceDescriptionImportStyle (ob
.@Style
));
237 WriteElementString ("verbose", "http://microsoft.com/webReference/", (ob
.@Verbose
?"true":"false"));
238 if (writeWrappingElem
) WriteEndElement (ob
);
241 void WriteObject_CodeGenerationOptions (System
.Xml
.Serialization
.CodeGenerationOptions ob
, string element
, string namesp
, bool isNullable
, bool needType
, bool writeWrappingElem
)
243 System
.Type type
= ob
.GetType ();
244 if (type
== typeof(System
.Xml
.Serialization
.CodeGenerationOptions
))
247 throw CreateUnknownTypeException (ob
);
250 if (writeWrappingElem
) {
251 WriteStartElement (element
, namesp
, ob
);
254 if (needType
) WriteXsiType("CodeGenerationOptions", "http://microsoft.com/webReference/");
256 Writer
.WriteString (GetEnumValue_CodeGenerationOptions (ob
));
257 if (writeWrappingElem
) WriteEndElement (ob
);
260 static readonly string[] _xmlNamesCodeGenerationOptions
= { "properties","newAsync","oldAsync","order","enableDataBinding" }
;
261 static readonly long[] _valuesCodeGenerationOptions
= { 1L,2L,4L,8L,16L }
;
263 string GetEnumValue_CodeGenerationOptions (System
.Xml
.Serialization
.CodeGenerationOptions val
)
266 case System
.Xml
.Serialization
.CodeGenerationOptions
.GenerateProperties
: return "properties";
267 case System
.Xml
.Serialization
.CodeGenerationOptions
.GenerateNewAsync
: return "newAsync";
268 case System
.Xml
.Serialization
.CodeGenerationOptions
.GenerateOldAsync
: return "oldAsync";
269 case System
.Xml
.Serialization
.CodeGenerationOptions
.GenerateOrder
: return "order";
270 case System
.Xml
.Serialization
.CodeGenerationOptions
.EnableDataBinding
: return "enableDataBinding";
272 if (val
.ToString () == "0") return string.Empty
;
273 return FromEnum ((long) val
, _xmlNamesCodeGenerationOptions
, _valuesCodeGenerationOptions
, typeof (System
.Xml
.Serialization
.CodeGenerationOptions
).FullName
);
277 void WriteObject_ServiceDescriptionImportStyle (System
.Web
.Services
.Description
.ServiceDescriptionImportStyle ob
, string element
, string namesp
, bool isNullable
, bool needType
, bool writeWrappingElem
)
279 System
.Type type
= ob
.GetType ();
280 if (type
== typeof(System
.Web
.Services
.Description
.ServiceDescriptionImportStyle
))
283 throw CreateUnknownTypeException (ob
);
286 if (writeWrappingElem
) {
287 WriteStartElement (element
, namesp
, ob
);
290 if (needType
) WriteXsiType("ServiceDescriptionImportStyle", "http://microsoft.com/webReference/");
292 Writer
.WriteString (GetEnumValue_ServiceDescriptionImportStyle (ob
));
293 if (writeWrappingElem
) WriteEndElement (ob
);
296 string GetEnumValue_ServiceDescriptionImportStyle (System
.Web
.Services
.Description
.ServiceDescriptionImportStyle val
)
299 case System
.Web
.Services
.Description
.ServiceDescriptionImportStyle
.Client
: return "client";
300 case System
.Web
.Services
.Description
.ServiceDescriptionImportStyle
.Server
: return "server";
301 case System
.Web
.Services
.Description
.ServiceDescriptionImportStyle
.ServerInterface
: return "serverInterface";
302 default: throw CreateInvalidEnumValueException ((long) val
, typeof (System
.Web
.Services
.Description
.ServiceDescriptionImportStyle
).FullName
);
306 protected override void InitCallbacks ()
313 internal class WebReferenceOptionsBaseSerializer
: System
.Xml
.Serialization
.XmlSerializer
315 protected override System
.Xml
.Serialization
.XmlSerializationReader
CreateReader () {
316 return new WebReferenceOptionsReader ();
319 protected override System
.Xml
.Serialization
.XmlSerializationWriter
CreateWriter () {
320 return new WebReferenceOptionsWriter ();
323 public override bool CanDeserialize (System
.Xml
.XmlReader xmlReader
) {
328 internal sealed class webReferenceOptionsSerializer
: WebReferenceOptionsBaseSerializer
330 protected override void Serialize (object obj
, System
.Xml
.Serialization
.XmlSerializationWriter writer
) {
331 ((WebReferenceOptionsWriter
)writer
).WriteRoot_WebReferenceOptions(obj
);
334 protected override object Deserialize (System
.Xml
.Serialization
.XmlSerializationReader reader
) {
335 return ((WebReferenceOptionsReader
)reader
).ReadRoot_WebReferenceOptions();
339 internal class WebReferenceOptionsSerializerImplementation
: System
.Xml
.Serialization
.XmlSerializerImplementation
341 System
.Collections
.Hashtable readMethods
= null;
342 System
.Collections
.Hashtable writeMethods
= null;
343 System
.Collections
.Hashtable typedSerializers
= null;
345 public override System
.Xml
.Serialization
.XmlSerializationReader Reader
{
347 return new WebReferenceOptionsReader();
351 public override System
.Xml
.Serialization
.XmlSerializationWriter Writer
{
353 return new WebReferenceOptionsWriter();
357 public override System
.Collections
.Hashtable ReadMethods
{
360 if (readMethods
== null) {
361 readMethods
= new System
.Collections
.Hashtable ();
362 readMethods
.Add (@"", @"ReadRoot_WebReferenceOptions");
369 public override System
.Collections
.Hashtable WriteMethods
{
372 if (writeMethods
== null) {
373 writeMethods
= new System
.Collections
.Hashtable ();
374 writeMethods
.Add (@"", @"WriteRoot_WebReferenceOptions");
381 public override System
.Collections
.Hashtable TypedSerializers
{
384 if (typedSerializers
== null) {
385 typedSerializers
= new System
.Collections
.Hashtable ();
386 typedSerializers
.Add (@"", new webReferenceOptionsSerializer());
388 return typedSerializers
;
393 public override XmlSerializer
GetSerializer (Type type
)
395 switch (type
.FullName
) {
396 case "System.Web.Services.Description.WebReferenceOptions":
397 return (XmlSerializer
) TypedSerializers
[""];
400 return base.GetSerializer (type
);
403 public override bool CanSerialize (System
.Type type
) {
404 if (type
== typeof(System
.Web
.Services
.Description
.WebReferenceOptions
)) return true;