1 2010-03-12 Atsushi Enomoto <atsushi@ximian.com>
3 * KnownTypeCollection.cs, SerializationMap.cs :
4 some refactoring to implement MessageDescription.XmlName.
6 2010-03-04 Atsushi Enomoto <atsushi@ximian.com>
8 * SerializationMap.cs : return array instance if the runtime type is
9 an array (it used to return ArrayList without conveting to array).
11 2010-03-01 Atsushi Enomoto <atsushi@ximian.com>
13 * SerializationMap.XsdExporter.cs, XsdDataContractExporter-new.cs:
14 refresh implementation to reflect the latest WCF impl.
15 * SerializationMap.cs : make types partial.
17 2010-02-19 Atsushi Enomoto <atsushi@ximian.com>
19 * XsdDataContractImporter.cs : fix extension type name (and comment).
21 2010-02-19 Atsushi Enomoto <atsushi@ximian.com>
23 * XsdDataContractImporter.cs : added dictionary support.
25 2010-02-18 Atsushi Enomoto <atsushi@ximian.com>
27 * XsdDataContractImporter-new.cs, XsdDataContractImporter.cs :
28 replaced implementation.
29 * ImportOptions.cs : add correct MonoTODOs.
31 2010-02-18 Atsushi Enomoto <atsushi@ximian.com>
33 * XsdDataContractImporter-new.cs : output [KnownType] to expose
34 base/derived type relationship.
36 2010-02-18 Atsushi Enomoto <atsushi@ximian.com>
38 * XsdDataContractImporter-new.cs : fix GenerateInternal.
40 2010-02-17 Atsushi Enomoto <atsushi@ximian.com>
42 * XsdDataContractImporter-new.cs : refresh implementation that is
43 not based on xml serialization. Not enabled yet.
44 * KnownTypeCollection.cs : add cosmetic comment.
46 2010-02-09 Atsushi Enomoto <atsushi@ximian.com>
48 * XsdDataContractImporter.cs : add appropriate code namespaces
49 imported from xsd namespace.
51 2010-02-08 Atsushi Enomoto <atsushi@ximian.com>
53 * XsdDataContractImporter.cs : do not add primitive ArrayOfxxx types.
55 2010-02-08 Atsushi Enomoto <atsushi@ximian.com>
57 * XsdDataContractImporter.cs : some generated attributes are put
60 2010-01-25 Atsushi Enomoto <atsushi@ximian.com>
62 * SerializationMap.cs : allow readonly field as data member.
65 2010-01-08 Atsushi Enomoto <atsushi@ximian.com>
67 * SerializationMap.cs, KnownTypeCollection.cs : differentiate
68 [DataContract(Namespace=null)] and [DataContract(Namespace="")].
71 2009-12-01 Sebastien Pouliot <sebastien@ximian.com>
73 * DataContractSerializer.cs: Add two missing methods for FX3.0
76 2009-10-22 Atsushi Enomoto <atsushi@ximian.com>
78 * SerializationMap.cs : partly revert previous sorting fix in
79 Sep.28th. Do not sort and mix members in base and derived types.
82 2009-10-21 Jb Evain <jbevain@novell.com>
84 * SerializationMap.cs, KnownTypeCollection.cs: avoid using LINQ
85 on arrays as MonoTouch has issues with them.
87 2009-09-28 Atsushi Enomoto <atsushi@ximian.com>
89 * SerializationMap.cs :
90 There were some places that ignored possible whitespace nodes.
91 Fixed sorting of ordered members so that it does not give
92 incomplete sorting among base/derived types. (should fix #539563.)
93 Give xml error details in some places.
95 2009-09-28 Atsushi Enomoto <atsushi@ximian.com>
97 * KnownTypeCollection.cs : (the previous one didn't fix #539563.)
98 Consider attempts to register the same collection type as it did
101 2009-09-28 Atsushi Enomoto <atsushi@ximian.com>
103 * SerializationMap.cs, KnownTypeCollection.cs : nested use of type
104 in its members resulted in infinite loop. This hopefully fixes
107 2009-09-07 Atsushi Enomoto <atsushi@ximian.com>
109 * IgnoreDataMemberAttribute.cs : add missing type.
110 * SerializationMap.cs : support above.
112 2009-07-23 Sebastien Pouliot <sebastien@ximian.com>
114 * SerializationMap.cs : Ensure Dictionary is still deserialized
115 correctly (wrt previous change). Fix moonlight isolated storage
118 2009-07-22 Atsushi Enomoto <atsushi@ximian.com>
120 * SerializationMap.cs : for empty element, do not try to consume
121 children. Fixed bug #524086.
122 For enum, it is always error when the enum is not flags, and
123 is always default value for flags.
125 2009-07-22 Atsushi Enomoto <atsushi@ximian.com>
127 * XmlFormatterDeserializer.cs : when reading empty primitive value,
128 make sure to consume the reader. Fixed bug #524083.
130 2009-07-22 Atsushi Enomoto <atsushi@ximian.com>
132 * SerializationMap.cs : call MoveToContent() before examining
133 the reader node type.
135 2009-07-22 Atsushi Enomoto <atsushi@ximian.com>
137 * KnownTypeCollection.cs : Find KnownTypeAttributes in base types
138 too. Patch by Rolf Bjarne Kvinge. Fixed bug #524088.
140 2009-07-21 Atsushi Enomoto <atsushi@ximian.com>
142 * DataContractSerializer.cs : it does not write dictionary string
143 when it was not created with it.
145 2009-07-07 Atsushi Enomoto <atsushi@ximian.com>
147 * XmlFormatterDeserializer.cs, SerializationMap.cs : IXmlSerializable
148 were not deserialized correctly as it has mismatch on wrapper
149 element. This fixes PeerNodeAddress.EndpointAddress deserialization.
151 2009-06-26 Atsushi Enomoto <atsushi@ximian.com>
153 * XmlFormatterDeserializer.cs : verifyObjectName rather blocked
154 correct names provided as the root names.
156 2009-06-01 Atsushi Enomoto <atsushi@ximian.com>
158 * XmlFormatterSerializer.cs, KnownTypeCollection.cs : collection
159 types does not emit xsi:type when the actual type is different
160 from the nominal serilaization type. To achieve this, introduced
161 the idea of the actual serialization type.
163 2009-05-28 Atsushi Enomoto <atsushi@ximian.com>
165 * SerializationMap.cs : for default / shared type map, members are
166 serialized in alphabetical order.
168 2009-05-28 Atsushi Enomoto <atsushi@ximian.com>
170 * SerializationMap.cs : generic interface search has to be more
171 complicated. Give kind error message on setting deserialized value.
173 2009-05-28 Atsushi Enomoto <atsushi@ximian.com>
175 * SerializationMap.cs: collection interface cannot be instantiated,
176 so create List<T> (generic) or ArrayList (non-generic) instead.
178 2009-05-25 Atsushi Enomoto <atsushi@ximian.com>
180 * SerializationMap.cs, XmlFormatterSerializer.cs :
181 collection types should not output xsi:type e.g. IList<T> should
182 not exposed xsi:type as xsi:type=List`1.
184 2009-05-18 Atsushi Enomoto <atsushi@ximian.com>
186 * SerializationMap.cs, XmlFormatterDeserializer.cs,
187 KnownTypeCollection.cs : Support for array of some primitive types
188 in the deserializer was missing, which resulted in peer resolver
189 RegisterInfo deserialization failure.
191 2009-05-18 Atsushi Enomoto <atsushi@ximian.com>
193 * XmlFormatterDeserializer.cs : remove type lookup optimization
194 (since .NET 3.5 introduced system types with DC) and fix
195 serialization of system types (ISerializable types were not
196 resolved in previous code).
198 2009-05-18 Atsushi Enomoto <atsushi@ximian.com>
200 * SerializationMap.cs : it was only about 2.1. Fix build.
202 2009-05-18 Atsushi Enomoto <atsushi@ximian.com>
204 * SerializationMap.cs : It is not possible to get schema without
205 IXmlSerializable instance.
207 2009-05-15 Atsushi Enomoto <atsushi@ximian.com>
209 * DataContractSerializer.cs : write dictionary string directly for
210 root name/ns (root only, so far).
212 2009-05-14 Atsushi Enomoto <atsushi@ximian.com>
214 * SerializationMap.cs: interface collection failed to serialize as
215 it was calling inappropriate GetInterfaceMap().
217 2009-04-01 Atsushi Enomoto <atsushi@ximian.com>
219 * XmlFormatterDeserializer.cs : more hack to handle empty
222 2009-03-24 Atsushi Enomoto <atsushi@ximian.com>
224 * SerializationMap.cs, XmlFormatterDeserializer.cs:
225 empty collection deserialization resulted in extra
226 consumption of the next xml node.
228 2009-03-19 Atsushi Enomoto <atsushi@ximian.com>
230 * KnownTypeCollection.cs, XmlFormatterDeserializer.cs :
231 to infer type from xml qname, consider DataContractAttribute
234 2009-03-12 Atsushi Enomoto <atsushi@ximian.com>
236 * SerializationMap.cs : make generic type parsing sloppy.
237 because we don't know some cryptic hash algorithm:
238 http://jeffbarnes.net/portal/blogs/jeff_barnes/archive/2007/05/10/wcf-serialization-and-generics.aspx
240 2009-03-12 Atsushi Enomoto <atsushi@ximian.com>
242 * SerializationMap.cs, KnownTypeCollection.cs :
243 support CollectionDataContract-based dictionary too.
245 2009-03-12 Atsushi Enomoto <atsushi@ximian.com>
247 * SerializationMap.cs, KnownTypeCollection.cs :
248 added support for dictionary serialization (not for
249 CollectionDataContract-attributed dictionary yet).
251 2009-03-12 Atsushi Enomoto <atsushi@ximian.com>
253 * SerializationMap.cs : cosmetic !NET_2_1 fix (no effect).
254 * KnownTypeCollection.cs : use ICollection<> and IList instead of
255 IEnumerable. This causes confusion for dictionary.
257 2009-03-11 Atsushi Enomoto <atsushi@ximian.com>
259 * XmlFormatterSerializer.cs, XmlObjectSerializer.cs,
260 XmlFormatterDeserializer.cs, KnownTypeCollection.cs :
261 add more xsi:type to cover collection items.
263 2009-03-11 Atsushi Enomoto <atsushi@ximian.com>
265 * KnownTypeCollection.cs : fix generic argument names in xml.
266 They should use xmlized names instead of raw type name.
267 * XmlFormatterDeserializer.cs : remove extra Console.WriteLine.
269 2009-03-11 Atsushi Enomoto <atsushi@ximian.com>
271 * SerializationMap.cs : eliminate whitespace misuses.
273 2009-03-11 Atsushi Enomoto <atsushi@ximian.com>
275 * SerializationMap.cs : actually it could just be ICollection<T>.
277 2009-03-11 Atsushi Enomoto <atsushi@ximian.com>
279 * SerializationMap.cs : implemented generic IList deserialization.
281 2009-03-10 Atsushi Enomoto <atsushi@ximian.com>
283 * KnownTypeCollection.cs : fix for generic serialization.
285 2009-02-27 Atsushi Enomoto <atsushi@ximian.com>
287 * SerializationMap.cs : look for unordered members first, in
288 different iteration. Got SL OpenStreetMap working.
290 2009-02-13 Atsushi Enomoto <atsushi@ximian.com>
292 * SerializationMap.cs : remove use of non-2.1 CreateInstance().
293 * XmlFormatterDeserializer.cs : allow empty element.
295 2009-02-13 Atsushi Enomoto <atsushi@ximian.com>
297 * SerializationMap.cs, DataContractSerializer.cs,
298 KnownTypeCollection.cs : now .NET 3.5/SP1 supports non-contract
301 2009-02-13 Atsushi Enomoto <atsushi@ximian.com>
303 * SerializationMap.cs, KnownTypeCollection.cs : couple of refactoring
304 to simplify code base and handle CollectionDataContract namespace.
306 2009-02-13 Atsushi Enomoto <atsushi@ximian.com>
308 * SerializationMap.cs : oops, remove debug lines.
310 2009-02-13 Atsushi Enomoto <atsushi@ximian.com>
312 * DataContractSerializer.cs : remove extra writexmlns.
313 * SerializationMap.cs : allow DataMember of collection contract type
315 * KnownTypeCollection.cs : it was not iterating interfaces to find
316 IEnumerable<T> correctly.
318 2009-02-03 Atsushi Enomoto <atsushi@ximian.com>
320 * SerializationMap.cs : a bit more detailed error message.
322 2009-01-23 Atsushi Enomoto <atsushi@ximian.com>
324 * KnownTypeCollection.cs : similar fix to the previous one,
327 2009-01-22 Alan McGovern <amcgovern@novell.com>
329 * KnownTypeCollection.cs : The byte overload doesn't exist in
330 Silverlight, so cast the byte to an int instead.
332 2008-11-23 Atsushi Enomoto <atsushi@ximian.com>
334 * DataContractAttribute.cs : remove MonoTODO.
336 2008-11-23 Atsushi Enomoto <atsushi@ximian.com>
338 * SerializationMap.cs, XmlFormatterSerializer.cs,
339 XmlFormatterDeserializer.cs, DataContractAttribute.cs,
340 CollectionDataContractAttribute.cs, KnownTypeCollection.cs :
341 support IsReference (new in 3.5 SP1).
343 2008-11-23 Atsushi Enomoto <atsushi@ximian.com>
345 * DataContractSerializer.cs : remove extra type validity check.
347 2008-11-23 Atsushi Enomoto <atsushi@ximian.com>
349 * XmlFormatterSerializer.cs : one object could not be serialized
350 twice in non-circular situation.
352 2008-09-09 Atsushi Enomoto <atsushi@ximian.com>
353 Jb Evain <jbevain@novell.com>
355 * IDataContractSurrogater.cs, SerializationMap.cs:
356 add support to build on the net_2_1 profile.
358 2008-06-19 Noam Lampert <noaml@mainsoft.com>
360 * KnownTypeCollection.cs: Support anyUri type
362 2008-06-05 Noam Lampert <noaml@mainsoft.com>
364 * KnownTypeCollection.cs: Support XmlRoot attribute
366 2008-06-01 Noam Lampert <noaml@mainsoft.com>
368 * KnownTypeCollection.cs: Implement byte[] serialization.
370 2008-05-19 Noam Lampert <noaml@mainsoft.com>
372 * KnownTypeCollection.cs: Implement char serialization.
374 2008-05-19 Noam Lampert <noaml@mainsoft.com>
376 * KnownTypeCollection.cs, XmlFormatterDeserializer.cs: Imporve support for
377 Nullable types in contracts.
379 2008-04-29 Eyal Alaluf <eyala@mainsoft.com>
381 * KnownTypeCollection.cs: Fixed a typo in long conversion.
383 2008-04-17 Eyal Alaluf <eyala@mainsoft.com>
385 * SerializationMap.cs: Implement partially collections deserialization.
386 Supports arrays and types derived from IList. Needs support for calling
387 'Add' method and for dictionaries.
388 * SerializationMap.cs XmlFormatterSerializer.cs DataContractSerializer.cs:
389 Serialize namespaces for base members according to base class namespace.
391 2008-04-14 Eyal Alaluf <eyala@mainsoft.com>
393 * SerializationMap.cs: Use FormatterServices.GetUninitializedObject instead
394 of Activator.CreateInstance.
396 2008-04-10 Eyal Alaluf <eyala@mainsoft.com>
398 * DataContractSerializer.cs: Write and register the current type namespace
400 * XmlObjectSerializer.cs: ReadObject verifies by default.
401 * XmlFormatterSerializer.cs: Write and register XML namespaces.
402 * XmlFormatterDeserializer.cs: Refactored so Deserialize instance method can
403 be used from SerializationMap deserialization logic recursively.
404 * SerializationMap.cs: Reimplemented main deserialization logic. Now it
405 handles better missing entries, consumes the XmlReader until the end
406 element and handles XML namespaces correctly.
407 Enabled checks for required fields.
409 2008-02-27 Eyal Alaluf <eyala@mainsoft.com>
411 * SerializationMap.cs: Fix namespace logic at least in simple case where
412 there are several unknown elements before the current element.
413 * ContractNamespaceAttribute.cs: The ClrNamespace is not set by the ctor.
414 * XmlObjectSerializer.cs: Dispose the XmlWriter created in WriteObject
416 * DataMemberAttribute.cs: Added the EmitDefaultValue property.
417 * XsdDataContractImporter.cs: Handle null arguments in Import methods.
418 * KnownTypeCollection.cs: Use XmlConvert.ToDateTime with roundtrip style.
420 2007-12-05 Atsushi Enomoto <atsushi@ximian.com>
422 * XmlObjectSerializer.cs : some methods became virtual (in Redbits).
423 * DataContractSerializer.cs : added some overriden methods in Redbits.
424 knownTypes can be null in .ctor().
426 2007-08-17 Atsushi Enomoto <atsushi@ximian.com>
428 * SerializationMap.cs : for void it cannot be instantiated. Return
431 2007-08-17 Atsushi Enomoto <atsushi@ximian.com>
433 * XmlFormatterDeserializer.cs DataContractSerializer.cs :
434 uhoh, the semantic of bool parameter in ReadObject() has
435 changed in the RTM. Implemented it as verifyObjectName.
437 2007-03-27 Atsushi Enomoto <atsushi@ximian.com>
439 * SerializationMap.cs
440 XmlFormatterSerializer.cs
441 DataContractSerializer.cs :
442 now it needs some mess to handle serialization namespaces.
443 Collection items are serialized in its own xml namespace. Others,
444 (including the collection member itself) is serialized in its
445 parent xml namespace. Collection items are serialized with its
447 * XsdDataContractImporter.cs : use constant.
449 2007-03-26 Atsushi Enomoto <atsushi@ximian.com>
451 * KnownTypeCollection.cs : added support for Guid serialization.
453 2006-10-20 Atsushi Enomoto <atsushi@ximian.com>
455 * KnownTypeCollection.cs : (RemoveItem) don't remove items while
458 2006-09-06 Ankit Jain <jankit@novell.com>
460 * SerializationMap.cs (SerializationMap.GetSequence): Set minOccurs = 0
462 2006-09-05 Ankit Jain <jankit@novell.com>
464 * XsdDataContractExporter.cs (XsdDataContractExporter.MSTypesSchema):
465 Load resource mstypes.schema
466 (XsdDataContractExporter.Schemas): Add MSTypesSchema by default.
468 2006-09-05 Ankit Jain <jankit@novell.com>
470 * SerializationMap.cs (SerializationMap.AddImport): New.
471 (SerializationMap.GetSequence): Use AddImport.
473 2006-09-04 Ankit Jain <jankit@novell.com>
475 * SerializationMap.cs (SerializationMap.GetSchemaSet): Remove.
476 (SerializationMap.GetSchemaType):
477 (SerializationMap.GetSequence):
478 (SerializationMap.GetSchema): Change XmlSchemas param to XmlSchemaSet.
479 Call XmlSchemaSet.Reprocess whenever an existing schema is modified.
480 * XsdDataContractExporter.cs (XsdDataContractExporter.Export): Update to
481 changes in SerializationMap.
482 (XsdDataContractExporter.CanExport): Implement.
483 (XsdDataContractExporter.GetSchemaType): Implement.
484 (XsdDataContractExporter.GetSchemaTypeName): Implement.
485 (XsdDataContractExporter.KnownTypes): New.
486 (XsdDataContractExporter.GeneratedTypes): New.
488 2006-09-01 Ankit Jain <jankit@novell.com>
490 * SerializationMap.cs (SerializationMap.GetSchemaSet): New.
491 (SerializationMap.IsPrimitive): New.
492 (SerializationMap.GetSchemaType): New.
493 (SerializationMap.GetSequence): New.
494 (SerializationMap.GetMembers): New.
495 (SerializationMap.GetSchemaElement): New.
496 (SerializationMap.GetSchema): New.
497 (SerializationMap.GetQualifiedName): New.
498 New methods for exporting schema for the type.
500 (SharedContractMap.ctor): Move code for building Members list to ..
501 (SharedContractMap.GetMembers): .. here.
503 (CollectionTypeMap.Serialize): Mark 'override'.
504 (CollectionTypeMap.GetMembers): 'override' and throw
505 NotImplementedException.
506 (CollectionTypeMap.GetSchemaType): Implement.
508 (SharedTypeMap..ctor): Move code to ..
509 (SharedTypeMap.GetMembers): .. here.
510 (EnumMap.GetSchemaType): Implement.
512 * XsdDataContractExporter.cs (XsdDataContractExporter.Export):
514 * KnownTypeCollection.cs (KnownTypeCollection.GetCollectionQName): Use
515 GetQName instead of GetXmlName. Set Namespace for collections of
516 primitive types to MSArraysNamespace
518 2006-08-31 Ankit Jain <jankit@novell.com>
520 * SerializationMap.cs (EnumMap): New. For de/serializing enums.
521 (EnumMemberInfo): New.
522 (SerializationMap.DeserializeContent): Made protected virtual from private.
523 * DataContractSerializer.cs (WriteStartObject):
524 Ensure that "i:type" is not emitted for enums.
525 * KnownTypeCollection.cs (GetPrimitiveTypeName): Don't treat enum as a
527 (GetQName): Likewise. Use GetEnumQName for enums.
529 (IsPrimitiveNotEnum): New.
530 (TryRegister): Add support for enums.
533 2006-08-14 Atsushi Enomoto <atsushi@ximian.com>
535 * XmlFormatterSerializer.cs : (contd from my previous change)
536 ... and don't complain at WriteObject(). It is somehow required
537 in S.SM.D.WSTrustContract (soon to be committed).
539 2006-07-27 Ankit Jain <jankit@novell.com>
541 * XsdDataContractImporter.cs (Compile): Remove, thanks to eno
542 XmlSchemaSet.Compile () works now.
543 Update to directly use XmlSchemaSet.Compile ()
545 2006-07-27 Ankit Jain <jankit@novell.com>
547 * XsdDataContractImporter.cs (ImportInternal): New.
548 Update various overloads of Import to use this.
549 (ImportFromTypeMapping): New. Emits code for a DataContract from a
550 XmlTypeMapping. Code is duplicate of
551 ServiceContractGenerator.ExportDataContract .
552 (GetNamespace): New. Duplicate like above.
553 (Compile): New. Temporary hack, will XmlSchemaSet.Compile is not
556 2006-07-18 Atsushi Enomoto <atsushi@ximian.com>
558 * XmlFormatterSerializer.cs, KnownTypeCollection.cs :
559 don't raise an error at DataContractSerializer..ctor(). Raise
560 InvalidDataContractException on WriteObject().
562 2006-07-12 Ankit Jain <jankit@novell.com>
564 * SerializationMap.cs (XmlSerializableMap): New. Map for classes which
565 implement IXmlSerializable interface.
566 * KnownTypeCollection.cs (KnownTypeCollection.GetQName): Add support for
567 types which implement IXmlSerializable interface. Change the order in
568 which DataContractAttribute/IXmlSerializable/SerializableAttribute get
570 (KnownTypeCollection.TryRegister): Change the order like above.
571 (KnownTypeCollection.RegisterIXmlSerializable): New.
573 2006-07-04 Atsushi Enomoto <atsushi@ximian.com>
575 * XsdDataContractExporter.cs, XmlObjectSerializer.cs,
576 InvalidDataContractException.cs : some June CTP updates.
578 2006-07-04 Atsushi Enomoto <atsushi@ximian.com>
580 * IDataContractSurrogate.cs, ExportOptions.cs,
581 DataContractSerializer.cs, KnownTypeCollection.cs :
584 2006-05-09 Atsushi Enomoto <atsushi@ximian.com>
586 * DataContractSerializer.cs : null knownTypes argument is allowed.
587 * KnownTypeCollection.cs : Type.Namespace could be null.
589 2006-05-09 Atsushi Enomoto <atsushi@ximian.com>
591 * KnownTypeCollection.cs : for nested classes, treat localName of
592 the QName as "Parent.Child", not "Child".
593 Don't encode name here (to pass ".").
595 2006-05-09 Atsushi Enomoto <atsushi@ximian.com>
597 * DataContractSerializer.cs :
598 Added maxObjectsInGraph range check.
599 interface type has BaseType as null, so end base type check when
600 it is null (I don't think this check is required btw).
602 2006-04-05 Atsushi Enomoto <atsushi@ximian.com>
604 * DataContractSerializer.cs : xmlns:xsi is not written when the
605 target type is string.
607 2006-03-22 Ankit Jain <jankit@novell.com>
609 * SerializationMap.cs (CheckDataContractEqual): Remove.
610 (Deserialize): Allows expected type to be a derived one from actual
612 (DeserializeInternal): Handle DataMember of type 'object'.
613 * XmlFormatterSerializer.cs (SerializeNonPrimitive): Serialize types not
615 * DataContractSerializer.cs (.ctor): Use KnownTypeCollection.GetQName
616 instead of doing it manually.
617 (PopulateTypes): Change return type from KnownTypeCollection to void.
618 Scan the base types to ensure that all have DataContract or Serializable
620 Add all (including inherited) KnownTypeAttribute values to the
623 2006-03-18 Ankit Jain <jankit@novell.com>
625 * SerializationMap.cs (SerializationMap.GetEmptyInstance): Rename to ..
626 (SerializationMap.GetInstance): .. this. Gets the instance or null if nil=true.
627 (SerializationMap.DeserializeInternal): New. Renamed from ..
628 (SerializationMap.Deserialize): .. this. Check DataContract equivalence, and use new
629 DeserializeInternal for rest of the work.
630 (DeserializeContent): Cleanup and handle various "null" cases.
631 * XmlFormatterSerializer.cs (Write_i_type): New. Write i:type=".."
632 (SerializeNonPrimitive): Update to use Write_i_type.
633 * DataContractSerializer.cs (WriteStartObject): Add rootType to known_types.
635 2006-03-16 Ankit Jain <jankit@novell.com>
637 * SerializationMap.cs (SerializationMap.Deserialize): Use NameTable.Get
638 before reader.LookupNamespace.
639 (DataMemberInfo.Compare): Use String.CompareOrdinal instead of
642 2006-03-16 Ankit Jain <jankit@novell.com>
644 * SerializationMap.cs (SerializationMap.GetEmptyInstance): New.
645 (SerializationMap.Deserialize): Refactor, handle primitive types and nils.
646 (SerializationMap.DeserializeContent): Handle nils and nested DataContracts.
647 (SharedContractMap.ctor): Include inherited properties and fields, in
650 2006-03-15 Ankit Jain <jankit@novell.com>
652 * KnownTypeCollection.cs (IsPrimitiveType): New.
653 * SerializationMap.cs (Deserialize): Handle primitive types.
655 2006-03-15 Ankit Jain <jankit@novell.com>
657 * DataContractSerializer.cs (WriteObjectContent): Handle null.
658 (WriteStartObject): Rewritten.
659 * KnownTypeCollection.cs (GetQName): New. Return QName for a given type.
661 (GetSerializableQName):
662 (GetCollectionQName): New.
664 (RegisterSerializable):
665 (RegisterCollection): Update to use new Get* methods.
666 * SerializationMap.cs (CheckDataContractEqual): New.
667 (Deserialize): Split into this and ..
668 (DeserializeContent): .. this.
669 * XmlDictionaryWriter.cs (CreateTextWriter): Use UTF8Encoding.
671 2006-03-09 Atsushi Enomoto <atsushi@ximian.com>
673 * DataContractSerializer.cs : xmlns output should be done at
676 2006-03-08 Ankit Jain <jankit@novell.com>
678 * DataContractSerializer.cs (.ctor): Use name & namespace specified (if any)
679 with the DataContractAttribute for non-primitive types.
680 (DataContractSerializer.WriteStartObject): DataContractAttribute.Name
683 2006-03-03 Atsushi Enomoto <atsushi@ximian.com>
685 * DataContractSerializer.cs : Handle primitive type name rather than
686 raw type name in constructors that don't receive root QName.
687 In case the actual graph is not of root type, write xsi:type.
689 2006-03-02 Atsushi Enomoto <atsushi@ximian.com>
691 * KnownTypeCollection.cs : default namespace contains common MS base
693 * XmlObjectSerializer.cs : added internal common utility field.
694 * DataContractSerializer.cs : Fixed constructors to fill fields and
696 * NetDataContractSerializer.cs : just leave it unimplemented until
697 we find how it works. It looks different from what
698 DataContractSerializer does.
700 2006-01-17 Atsushi Enomoto <atsushi@ximian.com>
702 * XmlFormatter.cs : extra namespaces are not written in Dec.CTP.
704 2005-11-28 Atsushi Enomoto <atsushi@ximian.com>
706 * KnownTypeCollection.cs : override.
708 2005-11-02 Atsushi Enomoto <atsushi@ximian.com>
710 * SerializationMap.cs, XmlFormatterSerializer.cs, XmlFormatter.cs
711 XmlFormatterDeserializer.cs, KnownTypeCollection.cs :
712 several changes. Partial support for collection serialization.
713 SerializationMap now contains its own Deserialize()/Serialize()
716 2005-10-20 Atsushi Enomoto <atsushi@ximian.com>
718 * XmlFormatterDeserializer.cs : new file.
719 * SerializationMap.cs, XmlFormatter.cs, KnownTypeCollection.cs :
720 several changes for pretty primitive Deserialize() implementation.
722 2005-10-07 Atsushi Enomoto <atsushi@ximian.com>
724 Added hacky serialization feature. Actually it should be rewritten to
725 be based on IDataContractSurrogate.
726 * SerializationMap.cs, XmlFormatterSerializer.cs :
727 new files for Serialize() implementation.
728 * KnownTypeCollection.cs : use serialization maps to check contracts.
729 * XmlFormatter.cs : implemented hacky Serialize().
730 * DataMemberAttribute.cs : default Order is -1.
731 * DataContractAttribute.cs : added tiny comment.
733 2005-10-03 Atsushi Enomoto <atsushi@ximian.com>
735 * XmlFormatter.cs : Added implementation switch between
736 BinaryFormatter and internal DataContractFormatter.
737 * XmlSerializableServices.cs : WriteNodes() impl.
739 2005-10-03 Atsushi Enomoto <atsushi@ximian.com>
741 * XmlSerializableServices.cs : ReadNodes() impl.
743 2005-09-28 Atsushi Enomoto <atsushi@ximian.com>
745 * KnownTypeAttribute.cs : fixed attribute usage.
747 2005-09-22 Atsushi Enomoto <atsushi@ximian.com>
749 * IDataContractSurrogate.cs, ContractNamespaceAttribute.cs,
750 XsdDataContractExporter.cs, KnownTypeAttribute.cs,
751 SerializationMode.cs, XmlFormatter.cs, DataMemberAttribute.cs,
752 ImportOptions.cs, UnknownSerializationData.cs,
753 SerializationFactoryMethodAttribute.cs, XmlSerializableServices.cs,
754 DataContractAttribute.cs, ExportOptions.cs,
755 InvalidDataContractException.cs, IUnknownSerializationData.cs,
756 CollectionDataContractAttribute.cs, XsdDataContractImporter.cs,
757 KnownTypeCollection.cs :
758 #if NET_2_0. coding style was updated.
760 2005-09-22 Atsushi Enomoto <atsushi@ximian.com>
762 * CollectionDataContractAttribute.cs
763 ContractNamespaceAttribute.cs
764 DataContractAttribute.cs
765 DataMemberAttribute.cs
767 IDataContractSurrogate.cs
768 InvalidDataContractException.cs
769 IUnknownSerializationData.cs
771 KnownTypeAttribute.cs
772 KnownTypeCollection.cs
773 SerializationFactoryMethodAttribute.cs
775 UnknownSerializationData.cs
777 XmlSerializableServices.cs
778 XsdDataContractExporter.cs
779 XsdDataContractImporter.cs : new files.