2009-09-28 Atsushi Enomoto <atsushi@ximian.com>
[mono.git] / mcs / class / System.Runtime.Serialization / System.Runtime.Serialization / ChangeLog
1 2009-09-28  Atsushi Enomoto  <atsushi@ximian.com>
2
3         * KnownTypeCollection.cs : (the previous one didn't fix #539563.)
4           Consider attempts to register the same collection type as it did
5           before.
6
7 2009-09-28  Atsushi Enomoto  <atsushi@ximian.com>
8
9         * SerializationMap.cs, KnownTypeCollection.cs : nested use of type
10           in its members resulted in infinite loop. This hopefully fixes
11           bug #539563.
12
13 2009-09-07  Atsushi Enomoto  <atsushi@ximian.com>
14
15         * IgnoreDataMemberAttribute.cs : add missing type.
16         * SerializationMap.cs : support above.
17
18 2009-07-23  Sebastien Pouliot  <sebastien@ximian.com>
19
20         * SerializationMap.cs : Ensure Dictionary is still deserialized
21         correctly (wrt previous change). Fix moonlight isolated storage
22         settings.
23
24 2009-07-22  Atsushi Enomoto  <atsushi@ximian.com>
25
26         * SerializationMap.cs : for empty element, do not try to consume
27           children. Fixed bug #524086.
28           For enum, it is always error when the enum is not flags, and
29           is always default value for flags.
30
31 2009-07-22  Atsushi Enomoto  <atsushi@ximian.com>
32
33         * XmlFormatterDeserializer.cs : when reading empty primitive value,
34           make sure to consume the reader. Fixed bug #524083.
35
36 2009-07-22  Atsushi Enomoto  <atsushi@ximian.com>
37
38         * SerializationMap.cs : call MoveToContent() before examining
39           the reader node type.
40
41 2009-07-22  Atsushi Enomoto  <atsushi@ximian.com>
42
43         * KnownTypeCollection.cs : Find KnownTypeAttributes in base types
44           too. Patch by Rolf Bjarne Kvinge. Fixed bug #524088.
45
46 2009-07-21  Atsushi Enomoto  <atsushi@ximian.com>
47
48         * DataContractSerializer.cs : it does not write dictionary string
49           when it was not created with it.
50
51 2009-07-07  Atsushi Enomoto  <atsushi@ximian.com>
52
53         * XmlFormatterDeserializer.cs, SerializationMap.cs : IXmlSerializable
54           were not deserialized correctly as it has mismatch on wrapper
55           element. This fixes PeerNodeAddress.EndpointAddress deserialization.
56
57 2009-06-26  Atsushi Enomoto  <atsushi@ximian.com>
58
59         * XmlFormatterDeserializer.cs : verifyObjectName rather blocked
60           correct names provided as the root names.
61
62 2009-06-01  Atsushi Enomoto  <atsushi@ximian.com>
63
64         * XmlFormatterSerializer.cs, KnownTypeCollection.cs : collection
65           types does not emit xsi:type when the actual type is different
66           from the nominal serilaization type. To achieve this, introduced
67           the idea of the actual serialization type.
68
69 2009-05-28  Atsushi Enomoto  <atsushi@ximian.com>
70
71         * SerializationMap.cs : for default / shared type map, members are
72           serialized in alphabetical order.
73
74 2009-05-28  Atsushi Enomoto  <atsushi@ximian.com>
75
76         * SerializationMap.cs : generic interface search has to be more
77           complicated. Give kind error message on setting deserialized value.
78
79 2009-05-28  Atsushi Enomoto  <atsushi@ximian.com>
80
81         * SerializationMap.cs: collection interface cannot be instantiated,
82           so create List<T> (generic) or ArrayList (non-generic) instead.
83
84 2009-05-25  Atsushi Enomoto  <atsushi@ximian.com>
85
86         * SerializationMap.cs, XmlFormatterSerializer.cs :
87           collection types should not output xsi:type e.g. IList<T> should
88           not exposed xsi:type as xsi:type=List`1.
89
90 2009-05-18  Atsushi Enomoto  <atsushi@ximian.com>
91
92         * SerializationMap.cs, XmlFormatterDeserializer.cs,
93           KnownTypeCollection.cs : Support for array of some primitive types
94           in the deserializer was missing, which resulted in peer resolver
95           RegisterInfo deserialization failure.
96
97 2009-05-18  Atsushi Enomoto  <atsushi@ximian.com>
98
99         * XmlFormatterDeserializer.cs : remove type lookup optimization
100           (since .NET 3.5 introduced system types with DC) and fix
101           serialization of system types (ISerializable types were not
102           resolved in previous code).
103
104 2009-05-18  Atsushi Enomoto  <atsushi@ximian.com>
105
106         * SerializationMap.cs : it was only about 2.1. Fix build.
107
108 2009-05-18  Atsushi Enomoto  <atsushi@ximian.com>
109
110         * SerializationMap.cs : It is not possible to get schema without
111           IXmlSerializable instance.
112
113 2009-05-15  Atsushi Enomoto  <atsushi@ximian.com>
114
115         * DataContractSerializer.cs : write dictionary string directly for
116           root name/ns (root only, so far).
117
118 2009-05-14  Atsushi Enomoto  <atsushi@ximian.com>
119
120         * SerializationMap.cs: interface collection failed to serialize as
121           it was calling inappropriate GetInterfaceMap().
122
123 2009-04-01  Atsushi Enomoto  <atsushi@ximian.com>
124
125         * XmlFormatterDeserializer.cs : more hack to handle empty
126           element nicely.
127
128 2009-03-24  Atsushi Enomoto  <atsushi@ximian.com>
129
130         * SerializationMap.cs, XmlFormatterDeserializer.cs:
131           empty collection deserialization resulted in extra
132           consumption of the next xml node.
133
134 2009-03-19  Atsushi Enomoto  <atsushi@ximian.com>
135
136         * KnownTypeCollection.cs, XmlFormatterDeserializer.cs :
137           to infer type from xml qname, consider DataContractAttribute
138           names.
139
140 2009-03-12  Atsushi Enomoto  <atsushi@ximian.com>
141
142         * SerializationMap.cs : make generic type parsing sloppy.
143           because we don't know some cryptic hash algorithm:
144           http://jeffbarnes.net/portal/blogs/jeff_barnes/archive/2007/05/10/wcf-serialization-and-generics.aspx
145
146 2009-03-12  Atsushi Enomoto  <atsushi@ximian.com>
147
148         * SerializationMap.cs, KnownTypeCollection.cs :
149           support CollectionDataContract-based dictionary too.
150
151 2009-03-12  Atsushi Enomoto  <atsushi@ximian.com>
152
153         * SerializationMap.cs, KnownTypeCollection.cs :
154           added support for dictionary serialization (not for
155           CollectionDataContract-attributed dictionary yet).
156
157 2009-03-12  Atsushi Enomoto  <atsushi@ximian.com>
158
159         * SerializationMap.cs : cosmetic !NET_2_1 fix (no effect).
160         * KnownTypeCollection.cs : use ICollection<> and IList instead of
161           IEnumerable. This causes confusion for dictionary.
162
163 2009-03-11  Atsushi Enomoto  <atsushi@ximian.com>
164
165         * XmlFormatterSerializer.cs, XmlObjectSerializer.cs,
166           XmlFormatterDeserializer.cs, KnownTypeCollection.cs :
167           add more xsi:type to cover collection items.
168
169 2009-03-11  Atsushi Enomoto  <atsushi@ximian.com>
170
171         * KnownTypeCollection.cs : fix generic argument names in xml.
172           They should use xmlized names instead of raw type name.
173         * XmlFormatterDeserializer.cs : remove extra Console.WriteLine.
174
175 2009-03-11  Atsushi Enomoto  <atsushi@ximian.com>
176
177         * SerializationMap.cs : eliminate whitespace misuses.
178
179 2009-03-11  Atsushi Enomoto  <atsushi@ximian.com>
180
181         * SerializationMap.cs : actually it could just be ICollection<T>.
182
183 2009-03-11  Atsushi Enomoto  <atsushi@ximian.com>
184
185         * SerializationMap.cs : implemented generic IList deserialization.
186
187 2009-03-10  Atsushi Enomoto  <atsushi@ximian.com>
188
189         * KnownTypeCollection.cs : fix for generic serialization.
190
191 2009-02-27  Atsushi Enomoto  <atsushi@ximian.com>
192
193         * SerializationMap.cs : look for unordered members first, in
194           different iteration. Got SL OpenStreetMap working.
195
196 2009-02-13  Atsushi Enomoto  <atsushi@ximian.com>
197
198         * SerializationMap.cs : remove use of non-2.1 CreateInstance().
199         * XmlFormatterDeserializer.cs : allow empty element.
200
201 2009-02-13  Atsushi Enomoto  <atsushi@ximian.com>
202
203         * SerializationMap.cs, DataContractSerializer.cs,
204           KnownTypeCollection.cs : now .NET 3.5/SP1 supports non-contract
205           type serialization.
206
207 2009-02-13  Atsushi Enomoto  <atsushi@ximian.com>
208
209         * SerializationMap.cs, KnownTypeCollection.cs : couple of refactoring
210           to simplify code base and handle CollectionDataContract namespace.
211
212 2009-02-13  Atsushi Enomoto  <atsushi@ximian.com>
213
214         * SerializationMap.cs : oops, remove debug lines.
215
216 2009-02-13  Atsushi Enomoto  <atsushi@ximian.com>
217
218         * DataContractSerializer.cs : remove extra writexmlns.
219         * SerializationMap.cs : allow DataMember of collection contract type
220           as read-only.
221         * KnownTypeCollection.cs : it was not iterating interfaces to find
222           IEnumerable<T> correctly.
223
224 2009-02-03  Atsushi Enomoto  <atsushi@ximian.com>
225
226         * SerializationMap.cs : a bit more detailed error message.
227
228 2009-01-23  Atsushi Enomoto  <atsushi@ximian.com>
229
230         * KnownTypeCollection.cs : similar fix to the previous one,
231           on uint16.
232
233 2009-01-22  Alan McGovern  <amcgovern@novell.com>
234
235         * KnownTypeCollection.cs : The byte overload doesn't exist in
236         Silverlight, so cast the byte to an int instead.
237
238 2008-11-23  Atsushi Enomoto  <atsushi@ximian.com>
239
240         * DataContractAttribute.cs : remove MonoTODO.
241
242 2008-11-23  Atsushi Enomoto  <atsushi@ximian.com>
243
244         * SerializationMap.cs, XmlFormatterSerializer.cs,
245           XmlFormatterDeserializer.cs, DataContractAttribute.cs,
246           CollectionDataContractAttribute.cs, KnownTypeCollection.cs :
247           support IsReference (new in 3.5 SP1).
248
249 2008-11-23  Atsushi Enomoto  <atsushi@ximian.com>
250
251         * DataContractSerializer.cs : remove extra type validity check.
252
253 2008-11-23  Atsushi Enomoto  <atsushi@ximian.com>
254
255         * XmlFormatterSerializer.cs : one object could not be serialized
256           twice in non-circular situation.
257
258 2008-09-09  Atsushi Enomoto  <atsushi@ximian.com>
259                         Jb Evain  <jbevain@novell.com>
260
261         * IDataContractSurrogater.cs, SerializationMap.cs:
262         add support to build on the net_2_1 profile.
263
264 2008-06-19  Noam Lampert <noaml@mainsoft.com>
265         
266         * KnownTypeCollection.cs: Support anyUri type
267
268 2008-06-05  Noam Lampert <noaml@mainsoft.com>
269         
270         * KnownTypeCollection.cs: Support XmlRoot attribute
271
272 2008-06-01  Noam Lampert <noaml@mainsoft.com>
273         
274         * KnownTypeCollection.cs: Implement byte[] serialization.
275
276 2008-05-19  Noam Lampert <noaml@mainsoft.com>
277         
278         * KnownTypeCollection.cs: Implement char serialization.
279            
280 2008-05-19  Noam Lampert <noaml@mainsoft.com>
281         
282         * KnownTypeCollection.cs, XmlFormatterDeserializer.cs: Imporve support for 
283            Nullable types in contracts.
284            
285 2008-04-29  Eyal Alaluf <eyala@mainsoft.com>
286
287         * KnownTypeCollection.cs: Fixed a typo in long conversion.
288
289 2008-04-17  Eyal Alaluf <eyala@mainsoft.com>
290
291         * SerializationMap.cs: Implement partially collections deserialization.
292           Supports arrays and types derived from IList. Needs support for calling
293           'Add' method and for dictionaries.
294         * SerializationMap.cs XmlFormatterSerializer.cs DataContractSerializer.cs:
295           Serialize namespaces for base members according to base class namespace.
296
297 2008-04-14  Eyal Alaluf <eyala@mainsoft.com>
298
299         * SerializationMap.cs: Use FormatterServices.GetUninitializedObject instead
300           of Activator.CreateInstance.
301
302 2008-04-10  Eyal Alaluf <eyala@mainsoft.com>
303
304         * DataContractSerializer.cs: Write and register the current type namespace
305           within the writer.
306         * XmlObjectSerializer.cs: ReadObject verifies by default.
307         * XmlFormatterSerializer.cs: Write and register XML namespaces.
308         * XmlFormatterDeserializer.cs: Refactored so Deserialize instance method can
309           be used from SerializationMap deserialization logic recursively.
310         * SerializationMap.cs: Reimplemented main deserialization logic. Now it
311           handles better missing entries, consumes the XmlReader until the end
312           element and handles XML namespaces correctly.
313           Enabled checks for required fields.
314
315 2008-02-27  Eyal Alaluf <eyala@mainsoft.com>
316
317         * SerializationMap.cs: Fix namespace logic at least in simple case where
318           there are several unknown elements before the current element.
319         * ContractNamespaceAttribute.cs: The ClrNamespace is not set by the ctor.
320         * XmlObjectSerializer.cs: Dispose the XmlWriter created in WriteObject
321           to a stream.
322         * DataMemberAttribute.cs: Added the EmitDefaultValue property.
323         * XsdDataContractImporter.cs: Handle null arguments in Import methods.
324         * KnownTypeCollection.cs: Use XmlConvert.ToDateTime with roundtrip style.
325
326 2007-12-05  Atsushi Enomoto  <atsushi@ximian.com>
327
328         * XmlObjectSerializer.cs : some methods became virtual (in Redbits).
329         * DataContractSerializer.cs : added some overriden methods in Redbits.
330           knownTypes can be null in .ctor().
331
332 2007-08-17  Atsushi Enomoto  <atsushi@ximian.com>
333
334         * SerializationMap.cs : for void it cannot be instantiated. Return
335           null instead.
336
337 2007-08-17  Atsushi Enomoto  <atsushi@ximian.com>
338
339         * XmlFormatterDeserializer.cs DataContractSerializer.cs :
340           uhoh, the semantic of bool parameter in ReadObject() has
341           changed in the RTM. Implemented it as verifyObjectName.
342
343 2007-03-27  Atsushi Enomoto  <atsushi@ximian.com>
344
345         * SerializationMap.cs
346           XmlFormatterSerializer.cs
347           DataContractSerializer.cs :
348           now it needs some mess to handle serialization namespaces.
349           Collection items are serialized in its own xml namespace. Others,
350           (including the collection member itself) is serialized in its
351           parent xml namespace. Collection items are serialized with its
352           wrapping element.
353         * XsdDataContractImporter.cs : use constant.
354
355 2007-03-26  Atsushi Enomoto  <atsushi@ximian.com>
356
357         * KnownTypeCollection.cs : added support for Guid serialization.
358
359 2006-10-20  Atsushi Enomoto  <atsushi@ximian.com>
360
361         * KnownTypeCollection.cs : (RemoveItem) don't remove items while 
362           iterating.
363
364 2006-09-06  Ankit Jain  <jankit@novell.com>
365
366         * SerializationMap.cs (SerializationMap.GetSequence): Set minOccurs = 0
367
368 2006-09-05  Ankit Jain  <jankit@novell.com>
369
370         * XsdDataContractExporter.cs (XsdDataContractExporter.MSTypesSchema):
371         Load resource mstypes.schema
372         (XsdDataContractExporter.Schemas): Add MSTypesSchema by default.
373
374 2006-09-05  Ankit Jain  <jankit@novell.com>
375
376         * SerializationMap.cs (SerializationMap.AddImport): New.
377         (SerializationMap.GetSequence): Use AddImport.
378
379 2006-09-04  Ankit Jain  <jankit@novell.com>
380
381         * SerializationMap.cs (SerializationMap.GetSchemaSet): Remove.
382         (SerializationMap.GetSchemaType):
383         (SerializationMap.GetSequence):
384         (SerializationMap.GetSchema): Change XmlSchemas param to XmlSchemaSet.
385         Call XmlSchemaSet.Reprocess whenever an existing schema is modified.
386         * XsdDataContractExporter.cs (XsdDataContractExporter.Export): Update to
387         changes in SerializationMap.
388         (XsdDataContractExporter.CanExport): Implement.
389         (XsdDataContractExporter.GetSchemaType): Implement.
390         (XsdDataContractExporter.GetSchemaTypeName): Implement.
391         (XsdDataContractExporter.KnownTypes): New.
392         (XsdDataContractExporter.GeneratedTypes): New.
393
394 2006-09-01  Ankit Jain  <jankit@novell.com>
395
396         * SerializationMap.cs (SerializationMap.GetSchemaSet): New.
397         (SerializationMap.IsPrimitive): New.
398         (SerializationMap.GetSchemaType): New.
399         (SerializationMap.GetSequence): New.
400         (SerializationMap.GetMembers): New.
401         (SerializationMap.GetSchemaElement): New.
402         (SerializationMap.GetSchema): New.
403         (SerializationMap.GetQualifiedName): New.
404         New methods for exporting schema for the type.
405
406         (SharedContractMap.ctor): Move code for building Members list to ..
407         (SharedContractMap.GetMembers): .. here.
408
409         (CollectionTypeMap.Serialize): Mark 'override'.
410         (CollectionTypeMap.GetMembers): 'override' and throw
411         NotImplementedException.
412         (CollectionTypeMap.GetSchemaType): Implement.
413
414         (SharedTypeMap..ctor): Move code to ..
415         (SharedTypeMap.GetMembers): .. here.
416         (EnumMap.GetSchemaType): Implement.
417
418         * XsdDataContractExporter.cs (XsdDataContractExporter.Export):
419         Implement.
420         * KnownTypeCollection.cs (KnownTypeCollection.GetCollectionQName): Use
421         GetQName instead of GetXmlName. Set Namespace for collections of
422         primitive types to MSArraysNamespace
423
424 2006-08-31  Ankit Jain  <jankit@novell.com>
425
426         * SerializationMap.cs (EnumMap): New. For de/serializing enums.
427         (EnumMemberInfo): New.
428         (SerializationMap.DeserializeContent): Made protected virtual from private.
429         * DataContractSerializer.cs (WriteStartObject):
430         Ensure that "i:type" is not emitted for enums.
431         * KnownTypeCollection.cs (GetPrimitiveTypeName): Don't treat enum as a
432         primitive type.
433         (GetQName): Likewise. Use GetEnumQName for enums.
434         (GetEnumQName): New.
435         (IsPrimitiveNotEnum): New.
436         (TryRegister): Add support for enums.
437         (RegisterEnum): New.
438
439 2006-08-14  Atsushi Enomoto  <atsushi@ximian.com>
440
441         * XmlFormatterSerializer.cs : (contd from my previous change)
442           ... and don't complain at WriteObject(). It is somehow required
443           in S.SM.D.WSTrustContract (soon to be committed).
444
445 2006-07-27  Ankit Jain  <jankit@novell.com>
446
447         * XsdDataContractImporter.cs (Compile): Remove, thanks to eno
448         XmlSchemaSet.Compile () works now.
449         Update to directly use XmlSchemaSet.Compile ()
450
451 2006-07-27  Ankit Jain  <jankit@novell.com>
452
453         * XsdDataContractImporter.cs (ImportInternal): New.
454         Update various overloads of Import to use this.
455         (ImportFromTypeMapping): New. Emits code for a DataContract from a
456         XmlTypeMapping. Code is duplicate of
457         ServiceContractGenerator.ExportDataContract .
458         (GetNamespace): New. Duplicate like above.
459         (Compile): New. Temporary hack, will XmlSchemaSet.Compile is not
460         working.
461
462 2006-07-18  Atsushi Enomoto  <atsushi@ximian.com>
463
464         * XmlFormatterSerializer.cs, KnownTypeCollection.cs :
465           don't raise an error at DataContractSerializer..ctor(). Raise
466           InvalidDataContractException on WriteObject().
467
468 2006-07-12  Ankit Jain  <jankit@novell.com>
469
470         * SerializationMap.cs (XmlSerializableMap): New. Map for classes which
471         implement IXmlSerializable interface.
472         * KnownTypeCollection.cs (KnownTypeCollection.GetQName): Add support for
473         types which implement IXmlSerializable interface. Change the order in
474         which DataContractAttribute/IXmlSerializable/SerializableAttribute get
475         selected.
476         (KnownTypeCollection.TryRegister): Change the order like above.
477         (KnownTypeCollection.RegisterIXmlSerializable): New.
478
479 2006-07-04  Atsushi Enomoto  <atsushi@ximian.com>
480
481         * XsdDataContractExporter.cs, XmlObjectSerializer.cs,
482           InvalidDataContractException.cs : some June CTP updates.
483
484 2006-07-04  Atsushi Enomoto  <atsushi@ximian.com>
485
486         * IDataContractSurrogate.cs, ExportOptions.cs,
487           DataContractSerializer.cs, KnownTypeCollection.cs :
488           June CTP updates.
489
490 2006-05-09  Atsushi Enomoto  <atsushi@ximian.com>
491
492         * DataContractSerializer.cs : null knownTypes argument is allowed.
493         * KnownTypeCollection.cs : Type.Namespace could be null.
494
495 2006-05-09  Atsushi Enomoto  <atsushi@ximian.com>
496
497         * KnownTypeCollection.cs : for nested classes, treat localName of
498           the QName as "Parent.Child", not "Child".
499           Don't encode name here (to pass ".").
500
501 2006-05-09  Atsushi Enomoto  <atsushi@ximian.com>
502
503         * DataContractSerializer.cs :
504           Added maxObjectsInGraph range check.
505           interface type has BaseType as null, so end base type check when
506           it is null (I don't think this check is required btw).
507
508 2006-04-05  Atsushi Enomoto  <atsushi@ximian.com>
509
510         * DataContractSerializer.cs : xmlns:xsi is not written when the
511           target type is string.
512
513 2006-03-22  Ankit Jain  <jankit@novell.com>
514
515         * SerializationMap.cs (CheckDataContractEqual): Remove.
516         (Deserialize): Allows expected type to be a derived one from actual
517         type.
518         (DeserializeInternal): Handle DataMember of type 'object'.
519         * XmlFormatterSerializer.cs (SerializeNonPrimitive): Serialize types not
520         already known.
521         * DataContractSerializer.cs (.ctor): Use KnownTypeCollection.GetQName
522         instead of doing it manually.
523         (PopulateTypes): Change return type from KnownTypeCollection to void.
524         Scan the base types to ensure that all have DataContract or Serializable
525         attributes.
526         Add all (including inherited) KnownTypeAttribute values to the
527         collection.
528
529 2006-03-18  Ankit Jain  <jankit@novell.com>
530
531         * SerializationMap.cs (SerializationMap.GetEmptyInstance): Rename to ..
532         (SerializationMap.GetInstance): .. this. Gets the instance or null if nil=true.
533         (SerializationMap.DeserializeInternal): New. Renamed from .. 
534         (SerializationMap.Deserialize): .. this. Check DataContract equivalence, and use new
535         DeserializeInternal for rest of the work.
536         (DeserializeContent): Cleanup and handle various "null" cases.
537         * XmlFormatterSerializer.cs (Write_i_type): New. Write i:type=".."
538         (SerializeNonPrimitive): Update to use Write_i_type.
539         * DataContractSerializer.cs (WriteStartObject): Add rootType to known_types.
540
541 2006-03-16  Ankit Jain  <jankit@novell.com>
542
543         * SerializationMap.cs (SerializationMap.Deserialize): Use NameTable.Get
544         before reader.LookupNamespace.
545         (DataMemberInfo.Compare): Use String.CompareOrdinal instead of
546         String.Compare.
547
548 2006-03-16  Ankit Jain  <jankit@novell.com>
549
550         * SerializationMap.cs (SerializationMap.GetEmptyInstance): New.
551         (SerializationMap.Deserialize): Refactor, handle primitive types and nils.
552         (SerializationMap.DeserializeContent): Handle nils and nested DataContracts.
553         (SharedContractMap.ctor): Include inherited properties and fields, in
554         the correct order.
555
556 2006-03-15  Ankit Jain  <jankit@novell.com>
557
558         * KnownTypeCollection.cs (IsPrimitiveType): New.
559         * SerializationMap.cs (Deserialize): Handle primitive types.
560
561 2006-03-15  Ankit Jain  <jankit@novell.com>
562
563         * DataContractSerializer.cs (WriteObjectContent): Handle null.
564         (WriteStartObject): Rewritten.
565         * KnownTypeCollection.cs (GetQName): New. Return QName for a given type.        
566         (GetContractQName):
567         (GetSerializableQName):
568         (GetCollectionQName): New.
569         (RegisterContract):
570         (RegisterSerializable):
571         (RegisterCollection): Update to use new Get* methods.
572         * SerializationMap.cs (CheckDataContractEqual): New.
573         (Deserialize): Split into this and ..
574         (DeserializeContent): .. this.
575         * XmlDictionaryWriter.cs (CreateTextWriter): Use UTF8Encoding.
576
577 2006-03-09  Atsushi Enomoto  <atsushi@ximian.com>
578
579         * DataContractSerializer.cs : xmlns output should be done at
580           WriteStartObject().
581
582 2006-03-08  Ankit Jain  <jankit@novell.com>
583
584         * DataContractSerializer.cs (.ctor): Use name & namespace specified (if any) 
585         with the DataContractAttribute for non-primitive types.
586         (DataContractSerializer.WriteStartObject): DataContractAttribute.Name
587         cannot be "".
588
589 2006-03-03  Atsushi Enomoto  <atsushi@ximian.com>
590
591         * DataContractSerializer.cs : Handle primitive type name rather than
592           raw type name in constructors that don't receive root QName.
593           In case the actual graph is not of root type, write xsi:type.
594
595 2006-03-02  Atsushi Enomoto  <atsushi@ximian.com>
596
597         * KnownTypeCollection.cs : default namespace contains common MS base
598           URI fragment.
599         * XmlObjectSerializer.cs : added internal common utility field.
600         * DataContractSerializer.cs : Fixed constructors to fill fields and
601           make it work.
602         * NetDataContractSerializer.cs : just leave it unimplemented until
603           we find how it works. It looks different from what
604           DataContractSerializer does.
605
606 2006-01-17  Atsushi Enomoto  <atsushi@ximian.com>
607
608         * XmlFormatter.cs : extra namespaces are not written in Dec.CTP.
609
610 2005-11-28  Atsushi Enomoto  <atsushi@ximian.com>
611
612         * KnownTypeCollection.cs : override.
613
614 2005-11-02  Atsushi Enomoto  <atsushi@ximian.com>
615
616         * SerializationMap.cs, XmlFormatterSerializer.cs, XmlFormatter.cs
617           XmlFormatterDeserializer.cs, KnownTypeCollection.cs :
618           several changes. Partial support for collection serialization.
619           SerializationMap now contains its own Deserialize()/Serialize()
620           methods.
621
622 2005-10-20  Atsushi Enomoto  <atsushi@ximian.com>
623
624         * XmlFormatterDeserializer.cs : new file.
625         * SerializationMap.cs, XmlFormatter.cs, KnownTypeCollection.cs :
626           several changes for pretty primitive Deserialize() implementation.
627
628 2005-10-07  Atsushi Enomoto  <atsushi@ximian.com>
629
630         Added hacky serialization feature. Actually it should be rewritten to
631         be based on IDataContractSurrogate.
632         * SerializationMap.cs, XmlFormatterSerializer.cs :
633           new files for Serialize() implementation.
634         * KnownTypeCollection.cs : use serialization maps to check contracts.
635         * XmlFormatter.cs : implemented hacky Serialize().
636         * DataMemberAttribute.cs : default Order is -1.
637         * DataContractAttribute.cs : added tiny comment.
638
639 2005-10-03  Atsushi Enomoto  <atsushi@ximian.com>
640
641         * XmlFormatter.cs : Added implementation switch between
642           BinaryFormatter and internal DataContractFormatter.
643         * XmlSerializableServices.cs : WriteNodes() impl.
644
645 2005-10-03  Atsushi Enomoto  <atsushi@ximian.com>
646
647         * XmlSerializableServices.cs : ReadNodes() impl.
648
649 2005-09-28  Atsushi Enomoto  <atsushi@ximian.com>
650
651         * KnownTypeAttribute.cs : fixed attribute usage.
652
653 2005-09-22  Atsushi Enomoto  <atsushi@ximian.com>
654
655         * IDataContractSurrogate.cs, ContractNamespaceAttribute.cs,
656           XsdDataContractExporter.cs, KnownTypeAttribute.cs,
657           SerializationMode.cs, XmlFormatter.cs, DataMemberAttribute.cs,
658           ImportOptions.cs, UnknownSerializationData.cs,
659           SerializationFactoryMethodAttribute.cs, XmlSerializableServices.cs,
660           DataContractAttribute.cs, ExportOptions.cs,
661           InvalidDataContractException.cs, IUnknownSerializationData.cs,
662           CollectionDataContractAttribute.cs, XsdDataContractImporter.cs,
663           KnownTypeCollection.cs :
664           #if NET_2_0. coding style was updated.
665
666 2005-09-22  Atsushi Enomoto  <atsushi@ximian.com>
667
668         * CollectionDataContractAttribute.cs
669           ContractNamespaceAttribute.cs
670           DataContractAttribute.cs
671           DataMemberAttribute.cs
672           ExportOptions.cs
673           IDataContractSurrogate.cs
674           InvalidDataContractException.cs
675           IUnknownSerializationData.cs
676           ImportOptions.cs
677           KnownTypeAttribute.cs
678           KnownTypeCollection.cs
679           SerializationFactoryMethodAttribute.cs
680           SerializationMode.cs
681           UnknownSerializationData.cs
682           XmlFormatter.cs
683           XmlSerializableServices.cs
684           XsdDataContractExporter.cs
685           XsdDataContractImporter.cs : new files.
686