diff options
7 files changed, 227 insertions, 0 deletions
diff --git a/mcs/class/corlib/System.Runtime.Serialization/ChangeLog b/mcs/class/corlib/System.Runtime.Serialization/ChangeLog index 004ff617670..ab372bb11ba 100644 --- a/mcs/class/corlib/System.Runtime.Serialization/ChangeLog +++ b/mcs/class/corlib/System.Runtime.Serialization/ChangeLog @@ -1,3 +1,10 @@ +2006-06-04 Miguel de Icaza <miguel@novell.com> + + * OptionalFieldAttribute.cs, OnSerializedAttribute.cs, + OnSerializingAttribute.cs, OnDeserializedAttribute.cs, + OnDeserializingAttribute.cs: Added a few attributes for the + version tolerant serialization. + 2006-01-04 Raja R Harinath <rharinath@novell.com> * ObjectManager.cs (ObjectRecord.IsInstanceReady): Fix regression diff --git a/mcs/class/corlib/System.Runtime.Serialization/OnDeserializedAttribute.cs b/mcs/class/corlib/System.Runtime.Serialization/OnDeserializedAttribute.cs new file mode 100644 index 00000000000..a5294ce63c7 --- /dev/null +++ b/mcs/class/corlib/System.Runtime.Serialization/OnDeserializedAttribute.cs @@ -0,0 +1,41 @@ +// +// System.Runtime.Serialization.OnDeserializedAttribute.cs +// +// Author: +// Miguel de Icaza (miguel@ximian.com) +// +// Copyright (C) 2006 Novell, Inc (http://www.novell.com) +// +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +#if NET_2_0 +using System; +using System.Runtime.InteropServices; + +namespace System.Runtime.Serialization { + + [ComVisible(true)] + [Serializable] + [AttributeUsage (AttributeTargets.Method, Inherited=false)] + public class OnDeserializedAttribute : Attribute { + } +} +#endif diff --git a/mcs/class/corlib/System.Runtime.Serialization/OnDeserializingAttribute.cs b/mcs/class/corlib/System.Runtime.Serialization/OnDeserializingAttribute.cs new file mode 100644 index 00000000000..ab1df26ada7 --- /dev/null +++ b/mcs/class/corlib/System.Runtime.Serialization/OnDeserializingAttribute.cs @@ -0,0 +1,41 @@ +// +// System.Runtime.Serialization.OnDeserializingAttribute.cs +// +// Author: +// Miguel de Icaza (miguel@ximian.com) +// +// Copyright (C) 2006 Novell, Inc (http://www.novell.com) +// +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +#if NET_2_0 +using System; +using System.Runtime.InteropServices; + +namespace System.Runtime.Serialization { + + [ComVisible(true)] + [Serializable] + [AttributeUsage (AttributeTargets.Method, Inherited=false)] + public class OnDeserializingAttribute : Attribute { + } +} +#endif diff --git a/mcs/class/corlib/System.Runtime.Serialization/OnSerializedAttribute.cs b/mcs/class/corlib/System.Runtime.Serialization/OnSerializedAttribute.cs new file mode 100644 index 00000000000..44c424f9059 --- /dev/null +++ b/mcs/class/corlib/System.Runtime.Serialization/OnSerializedAttribute.cs @@ -0,0 +1,41 @@ +// +// System.Runtime.Serialization.OnSerializedAttribute.cs +// +// Author: +// Miguel de Icaza (miguel@ximian.com) +// +// Copyright (C) 2006 Novell, Inc (http://www.novell.com) +// +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +#if NET_2_0 +using System; +using System.Runtime.InteropServices; + +namespace System.Runtime.Serialization { + + [ComVisible(true)] + [Serializable] + [AttributeUsage (AttributeTargets.Method, Inherited=false)] + public class OnSerializedAttribute : Attribute { + } +} +#endif diff --git a/mcs/class/corlib/System.Runtime.Serialization/OnSerializingAttribute.cs b/mcs/class/corlib/System.Runtime.Serialization/OnSerializingAttribute.cs new file mode 100644 index 00000000000..d62ae637cac --- /dev/null +++ b/mcs/class/corlib/System.Runtime.Serialization/OnSerializingAttribute.cs @@ -0,0 +1,41 @@ +// +// System.Runtime.Serialization.OnSerializingAttribute.cs +// +// Author: +// Miguel de Icaza (miguel@ximian.com) +// +// Copyright (C) 2006 Novell, Inc (http://www.novell.com) +// +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +#if NET_2_0 +using System; +using System.Runtime.InteropServices; + +namespace System.Runtime.Serialization { + + [ComVisible(true)] + [Serializable] + [AttributeUsage (AttributeTargets.Method, Inherited=false)] + public class OnSerializingAttribute : Attribute { + } +} +#endif diff --git a/mcs/class/corlib/System.Runtime.Serialization/OptionalFieldAttribute.cs b/mcs/class/corlib/System.Runtime.Serialization/OptionalFieldAttribute.cs new file mode 100644 index 00000000000..ed3ed9031df --- /dev/null +++ b/mcs/class/corlib/System.Runtime.Serialization/OptionalFieldAttribute.cs @@ -0,0 +1,51 @@ +// +// System.Runtime.Serialization.OptionalFieldAttribute.cs +// +// Author: +// Miguel de Icaza (miguel@ximian.com) +// +// Copyright (C) 2006 Novell, Inc (http://www.novell.com) +// +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +#if NET_2_0 +using System; +using System.Runtime.InteropServices; + +namespace System.Runtime.Serialization { + + [ComVisible(true)] + [AttributeUsage (AttributeTargets.Field, Inherited=false)] + public class OptionalFieldAttribute : Attribute { + int version_added; + + public int VersionAdded { + get { + return version_added; + } + + set { + version_added = value; + } + } + } +} +#endif diff --git a/mcs/class/corlib/corlib.dll.sources b/mcs/class/corlib/corlib.dll.sources index 0782cf105de..f8c549561d3 100644 --- a/mcs/class/corlib/corlib.dll.sources +++ b/mcs/class/corlib/corlib.dll.sources @@ -968,6 +968,11 @@ System.Runtime.Serialization/ISerializationSurrogate.cs System.Runtime.Serialization/ISurrogateSelector.cs System.Runtime.Serialization/ObjectIDGenerator.cs System.Runtime.Serialization/ObjectManager.cs +System.Runtime.Serialization/OnDeserializedAttribute.cs +System.Runtime.Serialization/OnDeserializingAttribute.cs +System.Runtime.Serialization/OnSerializedAttribute.cs +System.Runtime.Serialization/OnSerializingAttribute.cs +System.Runtime.Serialization/OptionalFieldAttribute.cs System.Runtime.Serialization/SerializationBinder.cs System.Runtime.Serialization/SerializationEntry.cs System.Runtime.Serialization/SerializationException.cs |